일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- machine learning
- overfitting
- word2vec
- abstraction
- sentence embedding
- deep learning
- neural net
- Self-loop attention
- GNN
- Transformer
- python practice
- Python
- Set Transformer
- pytorch
- NLP
- Classificaion
- sigmoid
- Attention
- elif
- XOR
- Today
- Total
목록Study (18)
Research Notes

▶ Sequence data : 우리가 사용하는 시퀀스 데이터가 많다. 한 단어만으로 이루어지는 것이 아니라 연속적으로 이루어져 있다는 뜻.(한 단어를 이해하기 위해서는 이전의 단어를 이해해야 하는 것과 같음) 기존의 Neural Net과 CNN은 Sequence data를 사용할 수 없다. - ex) 음성인식 ▶ RNN - State의 개념 중요. : 이전의 state가 입력으로 사용되고(ht-1), 새로운 time step(y)을 벡터 형태로 입력한다. → 이러한 형태가 거의 모든 RNN의 구조에 적용됨. - RNN의 연산방법 · WX와 같은 형태로 각각에 가중치를 만들어준다. · y값은 계산된 H에다가 다른 W를 곱해준다. (y가 몇개의 vector로 나올것인지는 W가 어떤 형태인지에 따라 정해짐)..

▶ ConvNet의 Conv 레이어 만들기 - CNN 레이어 구조: 하나의 이미지가 존재할 때 이미지를 잘라서 각각 Convolution 층에 넘김. 이 다음 활성화함수 ReLU를 사용하여 학습할 수도 있고, Pooling 층도 존재할 수 있음 - CNN의 기본 원리 · 32*32*3의 형태를 가진 이미지가 존재.(*3인 이유는 색 이미지이기 때문) · 한 부분만 떼어서 학습을 시작 --> 이 부분 : Filter(5*5*3) --> Filter를 사용하여 한 개의 값을 추출. · Filter는 값을 어떻게 추출할까? 아래의 그림과 같이 Wx + b와 같은 가설함수를 사용하여 하나의 값을 도출한다. (ReLU 활성화 함수를 앞에 붙이며 대부분 사용) · 이 Filter를 옆으로 넘기며 이미지에 존재하는 ..

▶ Overfitting - 위 그림처럼 학습 데이터에 모델이 너무 편향된 경우. 학습 데이터는 완벽하게 배웠지만 다른 데이터들에 적용할 경우 성능이 좋지 않디 - Overfitting인지 알 수 있는 방법? : Training Dataset에서는 거의 100%의 정확도를 내지만, Testing Dataset에서는 성능이 이보다 훨씬 떨어지는 경우. - Overfitting 문제해결 1) 학습 데이터의 양을 늘리기 2) Regularization : 가중치를 너무 큰 값으로 주지 않도록 하는 것 ▶ Dropout - 왼쪽은 기존의 평범한 모델, 오른쪽은 Dropout을 적용한 모델. - (b)는 모델에서 몇 개의 노드를 없애버리고 나머지 노드들을 사용하여 학습을 시킴. = 전체를 학습한 효과를 낼 수 있..

▶ ReLU의 출현 - 신경망의 층이 깊을때, Backpropagation을 사용하였을 경우 학습이 잘 안됨 : Vanishing Gradient(경사 감소 소멸) - sigmoid의 잘못된 사용 ▶ReLU : Rectified Linear Unit - ReLU 함수 : x가 0보다 크면 y=x, x가 0보다 작으면 0 ▶ 다양한 Activation Functions - sigmoid, tanh, ReLU, Leaky ReLU, Maxout, ELU 등 여러 가지의 활성화함수가 존재 ▶ Weight 초기값 정하기 - Vanishing Gradient를 해결할 수 있는 방법 1) ReLU 함수의 사용 2) Weight의 초기값을 잘 정하기 - 초기값을 줄 때 주의점 · 값에 0을 주면 안됨 · RBM(..

▶ XOR 문제 딥러닝으로 해결하기 - XOR문제는 하나의 유닛으로는 해결할 수 없음. - NN(Neural Network) -- 여러 유닛을 사용해 XOR문제를 해결할 수 있음. - NN을 사용한 XOR(식에 대입해보기) 1) 첫 번째 유닛에 XOR(0,0)값 대입, 대입해서 나온 값을 시그모이드 함수에 대입하면 y1값(0) 나옴. 2) 두 번째 유닛에 XOR(0,0)값 대입, 대입해서 나온 값을 시그모이드 함수에 대입하면 y2값(1) 나옴. 3) y1,y2를 최종 유닛에 대입하고 y를 구하여 XOR(0,0)의 결과값과 동일한지 비교. 4) 이러한 방식으로 XOR(0,0)/XOR(0,1)/XOR(1,0)/XOR(1,1)의 값들을 모두 비교. 모두 비교해본 결과 여러 유닛을 사용하여 XOR 문제를 해결할..

▶ Background of Deep Learning ▶ Perceptrons - MLP(Multilayer neural nets)를 사용한다면 XOR 문제를 해결할 수 있음. 퍼셉트론의 개념 등장 - 여러 layer들을 만들어 문제를 해결. ▶ Backpropagation(역전파) - 모델 학습 후 나온 W와 b의 값을 오차를 통해 조정해나가는 것. 기존 학습 순서를 역방향으로 수행한다. - Training -> forward -> dog(판별) : 순전파 // Error -> backward -> Trainig : 역전파 - 그러나 Neural net의 문제가 대두 - Neural net의 문제 : 역전파가 층이 깊어지면서 학습이 어려워졌고, 다른 머신러닝 알고리즘들이 더 좋은 성능을 냈다. ▶ ..

▶ Learning Rate(학습률) - Learning Rate란? 학습의 속도를 조정하는 값 - Gradient Descent 알고리즘에서 사용 - Learning rate가 큰 경우 ; OverShooting : 학습률을 지정했는데 손실이 줄어들지 않고 발산할 경우. - Learning rate가 작은 경우 ; 시간이 너무 오래걸리고, Local minimum(국소해)에 머물러 버릴 위험. : 값의 변화가 너무 작음. - Learning Rate을 지정할 때 답은 없고 최적의 값을 시도해 보아야 함.(대부분 0.01로 지정) ▶ Overfitting : 머신러닝이 학습을 통해서 모델을 만들때, 학습 데이터에만 잘 맞는 모델을 만드는 경우. 학습 데이터 이외의 값을 집어넣으면 예측이 잘 안되는 문제...

▶ Multinomial Classification(다중 분류) - softmax 함수 기반 : 함수 이후의 값이 0~1사이의 값이고, 전체 값의 합이 1이 되는 함수 : y값에서 softmax함수에 대입해 나온 값들 중 제일 큰 값을 제외하고 1로 만들수 있음, 이를 참조하여 최종 선택을 결정. == One-Hot Encoding ▶ Cost Function : Cross-entropy - Logistic cost VS cross entropy(위와 아래 식이 동일) - Cross-entropy cost function

▶ Review(Linear Regression) - Linear Regression : X값들을 이용하여 Y값을 예측하는 한 함수를 찾는 것. - Hypothesis : X(데이터) * W(가중치) - Cost 함수를 통해 손실을 최소화 하는 지점을 찾음(손실 최소화 = 실제값과 예측값의 차이 최소화) - 손실이 최소화 되는 지점을 찾기 위한 알고리즘 : Gradient Decent Algorithm, 학습률(Learning Rate)를 지정하여 경사를 이동해가는 폭을 조정. ▶ Classification(분류) - ex) 스팸 이메일 분류 : 스팸 or 햄, 페이스북 피드 분류 : 보여주기 or 숨기기, 신용카드 사용자 분류 : 진짜 사용자 or 가짜 사용자. - 분류하고자 하는 것들을 0, 1같은 ..

#1 Concept of Linear Regression ▶ Linear Regression(선형 회귀)의 개념 이 데이터를 가지고 학습을 하여 모델을 생성하여 학습을 하는 것이 Linear Regression이다. Regression은 학습된 데이터를 기반으로 새로운 데이터를 예측한다.(공부 시간 데이터들을 학습하여 성적을 예측) - Regression Data(X값, Y값): X값(예측을 하기 위한 자료), Y(정답 값) ▶ (Linear) Hypothesis(가설) : 직선의 가설을 세우는 것이 Linear Hypothesis, 어떤 데이터가 존재한다면 그에 맞는 선(함수)을 찾는 것. H(x)는 W, b에 따라 값이 달라짐. 어떤 가설이 좋은지 판별할 수 있는 것 == 손실(실제값과 예측값의..