본문 바로가기

AI/딥러닝 기초(Deep learning)32

[딥러닝][NLP] Bidirectional RNN 이 글은 아래 사이트의 페이지를 정리한 글입니다. d2l.ai/chapter_recurrent-modern/bi-rnn.html#definition 9.4. Bidirectional Recurrent Neural Networks — Dive into Deep Learning 0.16.3 documentation d2l.ai 1. Bidirectional RNN의 등장배경 - 지금까지의 시퀀스 데이터의 학습에서의 목표는 '지금까지 주어진 것을 보고 다음을 예측'하는 것이었고, 그 분야로는 시계열 또는 언어 모델이 있었습니다. 하지만, 시퀀스의 과거의 값들 뿐만 아니라 이후의 값들에 의해서도 값이 결정된다면 어떨까요? 아래 세 문장으로 예를 하나 들어보겠습니다. i) I am _____. ii) I am _.. 2021. 5. 12.
[딥러닝] GRU(Gated Recurrent Unit) 이 글은 아래 사이트를 정리하여 작성한 글입니다. pdfs.semanticscholar.org/25f0/625a92f6054b11057423111f9285c78376fe.pdf d2l.ai/chapter_recurrent-modern/gru.html 9.1. Gated Recurrent Units (GRU) — Dive into Deep Learning 0.16.3 documentation d2l.ai GRU 이미지는 아래 블로그를 일부 참고하였습니다. excelsior-cjh.tistory.com/185 1. GRU의 등장 배경 - LSTM은 RNN의 치명적인 한계점이었던, 'Long-term dependency' 문제를 해결하면서 긴 시퀀스를 가진 데이터에서도 좋은 성능을 내는 모델이 되었지만, 복잡.. 2021. 5. 10.
[딥러닝][NLP] LSTM(Long Short Term Memory Networks) 이 글은 아래 사이트의 내용을 정리한 글입니다. colah.github.io/posts/2015-08-Understanding-LSTMs/ 2021. 5. 7.
[딥러닝][NLP] RNN(Recurrent Neural Network) 이번 글은 아래 3개의 사이트의 내용을 읽고 정리한 글입니다. www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/ wikidocs.net/22886 colah.github.io/posts/2015-08-Understanding-LSTMs/ 2021. 5. 7.
[딥러닝][기초] 모멘텀(Momentum) 1. 모멘텀(Momentum) 이란? : 가중치를 업데이트 할때 이전 가중치의 업데이트값의 일정 비율을 더하는것으로, 가중치가 local minimum에 빠지지 않고 학습하는 방향대로 가도록 하는 방법 - 모멘텀 상수는 0.5~ 0.9 사이의 값으로 정한다. 2021. 4. 29.
[딥러닝][기초] 학습률(Learning rate)와 스케줄링 1. 학습률(Learning rate)이란? : 경사하강법에서 파라미터를 업데이트하는 정도를 조절하기위한 변수입니다. 적절한 모델과 가중치 초깃값을 설정했음에도, 학습률에 따라서 모델의 학습이 달라질 수 있습니다. 2. 학습률 스케줄링 방법 1) 학습값을 크게 설정했다가, 학습의 진행과 함께 줄여나가기 : 학습률을 파라미터 업데이트 수에 비례하여 감소하도록 스케줄링 : 특정 업데이트 수가 지나면 감소하는 비율도 변경하기도한다. : (최적의 방법은 아니며, 오히려 배치 사이즈를 늘리는것이 좋다는 연구 결과도 있음) 2) 층마다 다른 학습률을 사용 : 각 층의 가중치 업데이트 속도가 비슷하도록 가중치를 설정하는 것이 좋다. : 로지스틱 함수처럼 출력값이 한정적인 활성화 함수를 사용할때 중요하다. : 출력층과.. 2021. 4. 29.
[딥러닝][기초] 앙상블(Ensemble) 1. 앙상블(Ensemble) 이란? - 여러개의 서로 다른 신경망을 조합하여 추정의 정확도를 향상시키는 방법. - 같은 입력값에 대한 출력값의 평균을 최종 출력값으로 삼으며, 앙상블을 다른 표현으로 모델 평균(model averaging)이라고 도한다. - test의 결과를 보고 앙상블의 조합을 구상하지 않는다. : test를 배제한 채 test 와 validation set의 정확도만을 참고한다. 2. 앙상블의 종류 2.1 Soft Voting : 모든 모델의 출력값을 단순히 평균 낸것 : [장점] 많은 경우에 있어서 성능을 향상시키는 것으로 알려져있다. : [단점] 연산량이 많으며 학습 시간이 더 많이 필요하다. : 규제의 한 종류인 드롭아웃은 한 신경망을 사용하여 여러개의 신경망의 모델평균을 적용.. 2021. 4. 29.
[딥러닝][기초] 데이터 정규화(Data nomalization) 아래의 블로그를 참고하여 작성한 글입니다 :) https://medium.com/techspace-usict/normalization-techniques-in-deep-neural-networks-9121bf100d8 Normalization Techniques in Deep Neural Networks Normalization has always been an active area of research in deep learning. Normalization techniques can decrease your model’s training time by a huge factor. Let me state some of the benefits of… medium.com 1. 데이터 정규화의 필요성 - 학습.. 2021. 4. 29.
[딥러닝][기초] 손실함수(Loss function) 1. 손실함수(Loss function)이란? : 신경망의 출력값(output)과 정답(target) 사이의 거리로, Error function 이라고도 한다. 2. 문제 유형에 따른 손실함수 종류 Task Loss function Activation function of output layer Regression MSE (Mean Squared Error) Identity function Binary Classification Cross Entropy Sigmoid function Multiclass Classification Cross Entropy Softmax function 2021. 4. 29.
[딥러닝][기초] 딥러닝 학습을 위한 Trick들 딥러닝의 현실적인 이슈들 1. 데이터 확장(Data Augmentation) 2. 데이터 정규화(Data normalization)/배치 정규화(Batch Normalization) 2021.04.29 - [딥러닝(Deep learning)] - [딥러닝] 데이터 정규화(Data nomalization) [딥러닝] 데이터 정규화(Data nomalization) 1. 데이터 정규화 1.1 표준 정규화 : 기본적인 전처리로 각 샘플을 평균이 0 분산이 1이되도록 변환한다. 1.2 Min-max normalization hyen4110.tistory.com 3. 아키텍처 최적화(Architecture optimization) 4. 손실함수(Loss function) 2021.04.29 - [딥러닝(Deep .. 2021. 4. 29.
[딥러닝][기초] 활성화 함수(Activation Function) Stanfoard CS231n 2017의 강의자료를 참고하여 작성하였습니다. (www.youtube.com/watch?v=vT1JzLTH4G4&list=PL3FW7Lu3i5JvHM8ljYj-zLfQRF3EO8sYv&index=0) 1. 시그모이드 함수(Sigmoid) 수식 그래프 미분 그래프 [사진출처] 위키피디아/isaacchanghau.github.io/img/deeplearning/activationfunction/sigmoid.png [특징] 1. 0에서 1사이의 값을 갖는다 (squashes numbers to range [0,1]) : 큰 값을 허락하지 않아서 gradient explosion을 방지하는데 좋았음(Good) 2. Vanishing Gradient 문제 발생 : 시그모이드 함수의.. 2021. 4. 25.
[딥러닝][기초] 과적합(Overfitting)과 규제(Regularization) 1. 딥러닝 모델에서는 과적합(Overfitting)이 필요하다 - 딥러닝 모델은 일반적으로 최대한 오버피팅을 시킨 후 규제 등을 통해 오버피팅을 해결해나갑니다. 근데 왜 꼭 그렇게 해야만할까요? 처음부터 오버피팅이 안되도록 아키텍처를 설계하면 안될까요? - 딥러닝(deep learning)은 'representation learning'(또는 'feature learning')의 하위 분야입니다. 기존의 통계 모델에서는 이미 알려진 사실을 바탕으로 사람이 직접 feature를 추출하고 가공하는 feature engineering 과정이 필요했지만, 딥러닝 모델에서는 raw data에서 모델이 직접 feature를 만들어 냅니다. - 그렇기 때문에 처음부터 아키텍처를 simple 하게 설계한다면, hig.. 2021. 4. 25.
[딥러닝][기초] Loss Curve, Accuracy Curve 딥러닝에서 Loss Curve, Accuracy Curve의 모양에 따라 어떤 조치를 취해주어야 하는지 보겠습니다. 1. Loss Curve Loss Curve 모양 무엇을 해야하나? 1 curve가 linear하다 learning rate를 더 높게 설정 2 curve의 감소폭이 적다 learning rate를 더 낮게 설정 3 curve의 진동(oscillation) 폭이 크다 batch size를 더 높게 설정 1.1 curve가 linear 할때 learning rate를 늘려준다. : curve가 linear하다는 것이 왜 문제일까? 일정한 폭으로 감소한다는 것이 문제일까? 생각할 수 있지만, 가장 좋은 curve 곡선은 'Loss Curve 2' 처럼 빠른 속도로 수렴하는 curve입니다 1... 2021. 4. 25.
[딥러닝][기초] 역전파 알고리즘(Back Propagation) 3_단점 1) 수렴에 종종 실패, local minimum에 빠짐 2) Nonlocality, Synchrony(동시성), Long Training Time등 생물학적 신경망과 차이가있음 3) 초기값에 따라서 진동하거나 chaotic wandering 하기도 함 4) Gradient Vanishing, Gradient Explosion 문제 발생 2021. 4. 25.
[딥러닝기초] 역전파 알고리즘(Back Propagation)_2 Delta Rule 일반화 2021.04.16 - [딥러닝(Deep learning)] - [딥러닝] 역전파 알고리즘(Back Propagation)1_ Delta Rule [딥러닝] 역전파 알고리즘(Back Propagation)1_ Delta Rule 이 글은 연세대학교 정보대학원 기본머신러닝 과목 수강하면서 공부한 내용을 바탕으로 작성한 글입니다. 역전파 알고리즘(Back Propagation) - 모델의 출력값(output)과 기대값(target)을 비교하여 차이 hyen4110.tistory.com - 앞의 글('01 역전파 알고리즘(Back Propagation) 기초_ Delta Rule')에서 Delta Rule에 근거한 가중치 업데이트 식을 살펴보았습니다. - 또한, Delta Rule의 기본 가정은 너무나 단순하.. 2021. 4. 25.