본문 바로가기
  • 기술을 이야기하지만 사람을 생각합니다.

20. Deep Learning30

[인공지능 및 기계학습 개론 II] Latent Dirichlet Allocation 모델 KAIST 산업및시스템공학과 문일철 교수님의 인공지능 및 기계학습 개론 II 중 강의를 위주로 기타 자료를 참고하여 정리하였습니다. 잘못된 부분이 있으면 말씀해 주세요. Topic Modeling LDA 모델은 주요 키워드를 스스로 선별하는 것이 핵심이며, 문서 모델링에서 적합하게 차원을 축소하는 방법 중 하나이다. 아래 그림은 오바마를 다룬 신문을 모두 수집 후 LDA 모델을 이용하여 토픽을 뽑은 것으로, 전체 내용의 비율을 100이라고 했을 때, 각 토픽의 비중(propotion)이 얼마만큼 다뤄졌는지 나타내는 그래프이다. 알 수 없는 대용량의 문서를 토픽모델링에 적용하여 나온 결과로 주제를 추측할 수 있다. LDA는 소프트 클러스터링이며, 하나의 주제를 하나의 클러스터로 볼 수 있다. LDA 모델 .. 2020. 11. 29.
DQN 실습 :: CartPole 게임 Deep Q-Network 튜토리얼 클래식한 게임 CartPole에 Deep Q-Learning(Reinforcement learning)을 적용한 코드를 실습해 보았습니다. 와 다른 아티클 등을 참고하여 정리하였습니다. OpenAI Gym에서 Chartpole 게임에 DQN을 적용한 튜토리얼과 설명을 확인할 수 있습니다. CartPole 게임 Chartpole은 카트를 왼쪽 또는 오른쪽으로 잘 밀어서 균형을 잡는 문제이다. 이 게임에 DQN을 적용하여, remember와 replay를 반복하며 스스로 방법을 터득하게 된다. reward function : 매 타임스텝마다 +1씩 보상을 받음 막대가 중심에서 2.4유닛 이상 기울어지거나, 멀리 떨어지면 종료됨 State space : 현재 위치, 막도의 .. 2020. 8. 30.
GAN(Generative Adversarial Networks) 논문 리뷰 01. Taxonomy of Machine Learning GAN 모델을 설명하기 전에 딥러닝을 크게 두 가지로 나누면, 1) Supervised Learning과 2) Unsupervised Learning이 있다. A. Supervised Learning 지도 학습 대표적인 모델로 Discriminative Model이 있으며, 로지스틱 회귀분석, 뉴럴 네트워크 등이 해당된다. Input에 해당하는 클래스를 맞추기 위해 학습하게 된다. 예를 들어 남자냐, 여자냐를 구분하는 것이다. B. Unsupervised Learning 비지도 학습 label이 없는 데이터를 잘 학습하는 것이다. Generative Model에는 Naive Bayes, Gaussian discriminant analysis (G.. 2020. 6. 7.
[PyTorch로 시작하는 딥러닝] Lab-11-2 RNN hihello and charseq edwith의 파이토치로 시작하는 딥러닝 기초 중 수업을 듣고 정리하였습니다. 잘못된 부분이 있으면 말씀해 주세요! 'Hihello' example 'hihello' problem h가 들어오면 i를 예측하고, i가 들어오면 h, h가 들어오면 e (...) 를 예측하는 문제이다. 이렇게 character가 들어오면 다음 character를 예측하는 모델을 만들고자 한다. 'h'가 들어왔을 때, 'i', 'e' 중 어떤 게 출력되는지 올바르게 결정할 수 있도록 hidden state의 역할이 중요하게 된다. How can we represent charaters? One-hot encodding continuous하지 않고 categorical한 데이터를 표현할 때 주로 one-hot encodding을.. 2020. 3. 29.
[PyTorch로 시작하는 딥러닝] Lab 11-1 RNN Basic edwith의 파이토치로 시작하는 딥러닝 기초 중 수업을 듣고 정리하였습니다. 잘못된 부분이 있으면 말씀해 주세요! RNN in PyTorch 입력하고자 하는 데이터(input_data)는 세 가지 차원을 가지는 Tensor로 정의된다. shape = ( ___, ___, ___) 세 가지 차원은 아래에서 설명할 예정입니다. Example : Input 여기에서 사용한 1-hot encoidng은 단어를 구성하는 문자들을 사전식으로 쭉 나열한 뒤, 사전의 개수만큼 vector를 만들어 놓고 각각의 문자를 index에 해당하는 그 자리에 '1'을 주고 나머지는 '0'을 넣어주는 방식이다. 따라서, input_size는 input_data Tensor의 dimension 중 하나이다. Exampel : Hi.. 2020. 3. 29.
[PyTorch로 시작하는 딥러닝 기초] Lab 11-0 RNN intro edwith의 파이토치로 시작하는 딥러닝 기초 중 수업을 듣고 정리하였습니다. [LECTURE] Lab-11-0 RNN intro : edwith 학습목표 순환신경망(Recurrent Neural Network)에 대해 알아본다. 핵심키워드 순환신경망(Recurrent Neural Network) - tkddyd www.edwith.org RNN (Recurrent Nenural Network) Intro Sequential 데이터가 중요한 경우에 RNN 모델을 사용한다. sequntial 데이터는 순서가 중요하며, 문장, 단어, 시간 등이 있다. 예를 들어서, 에서 사진을 입력하는 순서에 따라서 성능에 영향을 주지 않는다면 이 경우는 순서(sequntial)가 중요하지 않은 요소가 된다. 하지만 단어 .. 2020. 3. 29.
[PyTorch로 시작하는 딥러닝 기초] Lab-10-3 visdom edwith의 [파이토치로 시작하는 딥러닝 기초] Lab-10-3 visdom 강의를 정리했습니다. 잘못된 부분이 있으면 말씀해 주세요! [LECTURE] Lab-10-3 visdom : edwith 학습목표 Visdom 사용 방법을 알아본다. 핵심키워드 Visdom CNN - tkddyd www.edwith.org 이번 강의에서는 Visdom 사용 방법을 익히고 MNIST-CNN의 loss graph를 그리는 것까지 적용할 예정입니다. Visdom Visdom은 라이브 데이터를 풍부하게 시각화 해주는 시각화 도구입니다. 연구원과 개발자가 원격 서버에서 과학 실험을 지속적으로 할 수 있도록 도와주며, 브라우저에서 실행되며 다른 사람과 쉽게 공유할 수 있습니다. Visdom 설치 pip install vi.. 2020. 3. 8.
[PyTorch로 시작하는 딥러닝 기초] Lab-10-2 Mnist CNN edwith의 [파이토치로 시작하는 딥러닝 기초] Lab-10-2 Mnist CNN 강의를 정리했습니다. 잘못된 부분이 있으면 말씀해 주세요! [LECTURE] Lab-10-2 Mnist CNN : edwith 학습목표 MNIST 데이터를 CNN으로 적용해본다. 핵심키워드 딥러닝 학습 단계 CNN - tkddyd www.edwith.org 학습 단계 (코드 기준) 라이브러리 가져오고 (torch, torchvision, matplotlib 같은것들) GPU 사용 설정 하고 random value를 위한 seed 설정! 학습에 사용되는 parameter 설정!(learning_rate, training_epochs, batch_size, etc) 데이터셋을 가져오고 (학습에 쓰기 편하게) loader 만들.. 2020. 3. 7.
[PyTorch로 시작하는 딥러닝 기초] Lab-10-1 Convolution edwith의 부스트코스 강의 Part 3 - CNN 를 정리한 글입니다. 잘못된 부분이 있으면 말씀해 주세요! [LECTURE] Lab-10-1 Convolution : edwith 학습목표 합성곱 (Convolution) 연산에 대해 알아본다. 핵심키워드 합성곱 (Convolution) 연산 필터(Filter) 스트라이드(Stride) 패딩(Padding) ... - tkddyd www.edwith.org Convolution 이미지 위에 stride 값 만큼 filter(kernel)을 이동시키면서 겹쳐지는 부분의 각 원소의 값을 모두 곱한 뒤 더한 값을 출력하는 연산 Stride and Padding stride: filter를 한 번에 이동하는 간격 padding: input의 크기 만큼 이미지.. 2020. 3. 7.
[PyTorch로 시작하는 딥러닝 기초] 09-4 Batch-Normalization edwith의 [부스트코스] 파이토치로 시작하는 딥러닝 기초 강의를 정리한 내용입니다. [LECTURE] Lab-09-4 Batch Normalization : edwith 학습목표 Batch Normalization 에 대해 알아본다. 핵심키워드 Batch Normalization 경사 소실(Gradient Vanishing) / 폭발(Explodi... - tkddyd www.edwith.org Batch Normalization Gradient Vanishing / Exploding Internal Covariate Shift Batch Normalization Code: mnist_batchnorm Gradient Vanishing / Exploding Gradient Vanishing Gradi.. 2020. 2. 9.