본문 바로가기

인공지능

(7)
[딥러닝] RNN_decoding_padding_한계(2) Auto Regressive: 이전까지의 출력을 기반으로 다음 출력을 순차적으로 예측하는 방식입니다. 여기서 사용되는 Decoding 방법을 설명하겠다.Greedy Decoding / BeamSearch Decoding Greedy 가장 확률이 높은 단어를 즉시 선택하는 방식이다. 간단하지만, 최적의 문장을 찾지 못할 가능성이 높다. BeamSearch전체 문장의 확률을 누적해서 현재 가장 확률이 높은 단어 선택 및 문장k개(beam width)를 유지한다.당장의 확률만으로는 최적의 문장을 완성하지 못하므로 확률이 높은 문장 k개를 유지하는 방법이다. 최적의 답을 찾기에는 유용하지만, 연산량이 높다. Sampling Based(Non-deterministic)확률적으로 다음 단어를 선택하기에 실행할 때마..
[딥러닝] RNN_기본(1) Tokenizationtext를 컴퓨터에 어떻게 저장할 것인지 나누는 방법 ASCIIchar = 1 byte로 나타내는 방법UTF-8 (Unicode) 1~4 byte를 사용해서 다양한 방법으로 encoding (ASCII보다 많이 표현가능) Tokenization methodstext를 token 단위로 나누는 것 모든 token의 집합 ( vocabulary ) =  Vunique한 token의 개수 = |V|  Chracter-based TokenizationInput: "i hate programming"Tokenized: ['i', ' ', 'h', 'a', 't', 'e', ' ', 'p', 'r', 'o', 'g', 'r', 'a', 'm', 'm', 'i', 'n', 'g'] Word b..
[딥러닝]CNN_Regularization(3) Regularization 모델의 complexity를 줄이지 않고, generalization erro를 줄이는 방법이다. 모델의 layer수가 늘어나면 Complexity가 증가하고, Variance가 증가한다.그럼 그래프에 따라서 over fitting이 일어난다. 이를 regularization을 통해 complexity는 유지하면서 variance를 줄이고, bias를 늘려(bias-variance tradeoff) over fitting 문제를 해결하자 Dropout학습 중에 임의의 노드의 출력값을 랜덤하게 0으로 만드는 기법.  ( AlexNet에서 도입됐다. )확률 p로 설정을 해놓으면 p확률로 0을 갖게된다.과도한 학습을 막아서 overfitting을 효과적으로 방지해준다. 다양성을 가져..
[딥러닝] CNN_Deeper Network구성(2) History... 딱히 넘어가도...더보기LeNet (1989)MNIST 손글씨 인식, OCR의 시초 ImageNet(2009) 사물을 분류하는 데이터 셋일반적인 이미지 인식 능력을 평가/학습할 수 있는 대규모 데이터 셋대규모 데이터셋에 모델을 처음부터 학습시키는 것을 Pretraining 이라고 한다. 데이터를 넣는데 한계가 있었기 때문에 underfitting이 심했지만, deep learning을 통해 해결   Pretraining 이란Fine Tuning(Transfer Learning): Pretraining 된 모델을 다시 다른 데이터셋에 학습시키는 것 Pretraining Data Size > Transfer Learing Data SizePretraining Data &Transfer L..
[딥러닝] CNN_기본(1) 자... 지금 CNN을 배운다고 가정하면, 아직 다차원 tensor를 처리하는 법을 모를 것 이다. CNN이란?spatial information 에서 semantic informaion으로 변환하는 것 마지막에 다시 돌아왔을 때 이 말의 뜻이 이해가 되기를... 1D-tensor만 처리하는 방법을 안다고 가정할 떄 128(높이) * 128(넓이) * 3(channle) 데이터를 처리하려고하면 1D로 처리할 것이다.  MLP(or perceptron)으로 처리한다고 생각하면 된다.첫 번째 FC layer(256일 때)의 파라미터 수는 128 * 128 * 3 * 256 (= 12,582,912)일 것이다. (bias를 사용하지 않는다면)데이터 수 보다 파라미터수가 압도적으로 많기 때문에 정보손실이 발생할..
[딥러닝] MLP - 2 MLP-1입니다https://tithingbygame.tistory.com/166 [딥러닝] MLP(Binary, Multiclass, Multilabel Classification) - 1Classification Binary Classification: 강아지가 있는 지 없는지 (0 or 1)Multicalss Classification: 여러개의 옵션 중 1개를 선택Multilabel Classification: 여러개가 동시에 있을 수 있음 Perceptronf = activation function (step ftithingbygame.tistory.com MLP(Multi Layer Perceptron)perceptron / logistic regresion은 XOR gate problem을 ..
[딥러닝] MLP(Binary, Multiclass, Multilabel Classification) - 1 Classification Binary Classification: 강아지가 있는 지 없는지 (0 or 1)Multicalss Classification: 여러개의 옵션 중 1개를 선택Multilabel Classification: 여러개가 동시에 있을 수 있음 Perceptronf = activation function (step function: 0보다 크면 1로 or  0을 ouput으로)f ( Σ (pixel의 rgb * 가중치) )   Perceptron은 잘 쓰이지 않는다. 현대 인공지능에서 중요한 것은 미분이 가능해야되는데 Perceptron은 미분이 불가능하기 때문이다.  MLP란Perceptron을 여러겹 쌓은 것이다. Multi Layer Perceptron...!Perceptron 안..