일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- GPT
- 클린코드
- 1261
- 논문
- 논문구현
- 3745
- deeplearning
- 알고리즘
- 자바
- 논문리뷰
- 1916
- cs231n
- MachineLearning
- 딥러닝
- 백준 1339 자바
- 디미터법칙
- dijkstra
- 짝지어제거하기
- Java
- 백준 1339
- 알렉스넷
- 백준
- NLP
- 머신러닝
- 관심사분리
- 백준9095
- Alexnet
- 백준 1916 자바
- 다익스트라
- 1107번
- Today
- Total
목록전체 글 (38)
산 넘어 산 개발일지
1. 배경 (이미지 출처 : https://github.com/pilsung-kang/Text-Analytics/blob/master/08%20Seq2Seq%20Learning%20and%20Pre-trained%20Models/08-4_GPT.pdf) 당시 Unlabeled dataset은 6백만개가 넘는 글과 35억개가 넘는 단어들로 넘쳐났지만, Labeled dataset은 너무나 부족한 상황이었다. 따라서 Unlabeled dataset으로 의미 있는 언어 정보를 학습하는 모델이 필요했다. Unlabeled dataset으로 언어 정보를 학습한 모델의 장점 시간 비용이 많이 드는 추가적인 labeling작업을 대체하여 학습에 사용할 수 있음. 지도학습 하기에 충분한 데이터셋이 있다면, unlabe..
서론 이번 논문은 기존 SMT에서 부분적으로만 활용되었던 DNN을 본격적으로 활용하여 BLEU 점수에서 이를 뛰어넘거나 비슷한 점수를 기록했다는 점에서 의미가 있다. 그리고 기존 NLP에서는 Input으로 고정된 길이의 벡터를 넘겨줘야만 했는데, 가변 길이의 벡터를 사용할 수 있게 했다는 점도 큰 발전이었다. 어떻게 가변 길이 벡터를 사용할 수 있었고, 어떤 방식으로 훈련을 했는지 위주로 리뷰를 해볼 것이다. 본론 1. RNN vs LSTM RNN은 긴 데이터에 대해서는 기울기 소실 문제로 인해 약한 모습을 보인다. 반면 LSTM은 RNN보다는 긴 데이터에 더 강인한 성능을 보인다. 물론 다른 여러 논문들에서 LSTM 역시 긴 데이터에 약하다는 것을 언급한다. 그러나 본 논문에서는 LSTM을 사용하여 긴..
Abstract Natural language understanding은 두 문장간의 추론 문제, 두 문장의 의미적 동일성, QA, 문서 분류 등 다방면으로 구성된다. 그러나 unlabeled 된 텍스트 데이터는 많은 반면, labeled된 텍스트 데이터는 적기 때문에 모델 훈련에 어려움이 있다. 따라서 본 논문에서는 다양한 unlabeled 텍스트를 사용한 generative pre-training 인 language model을 제시하며, 이는 discriminative fine-tuning을 사용하여 각 특수한 작업에 사용될 수 있다. 이를 통해 완성한 모델은 기존 특수한 작업을 위해 만들어진 모델들보다 뛰어난 성능을 보였으며, 12개의 작업 중 9개의 작업에서 그 성능이 우수했다는 결과가 이를 증..
이제서야 후기를 쓰게 되었지만, 딥러닝 분야에서 연구를 시작한 첫 터전이기도 했고 이 때의 경험을 조금이나마 기록해두면 좋지 않을까 싶어서 기록을 남긴다. AI 보안 운좋게 AI보안 연구실에 들어갈 기회가 생겨서 들어가게 되었다. 사실 AI 보안이라고 해도 AI 개발과 크게 다르지 않을 것이라 생각했다. 조금 더 구체화해본다면, 인공지능을 활용해 해커의 침입을 감지하거나 정보 유출을 막는 그런 기능들을 상상했었다. 그러나 AI 보안은 그것과는 많이 달랐다. 가장 기억에 남는 것에는 백도어 어택이 있다. 이미지의 한 쪽 구석에 임의의 패턴을 넣어서 모델이 오답 클래스로 분류하도록 유도하는 것이다. 이 사진은 비디오의 프레임마다 한쪽 구성에 임의의 패턴을 입력한 것이다. 이런 방식으로 진행하여 오분류를 유도..
2021.09.06 - [논문 리뷰/CV] - [논문 리뷰] VGG16(ICLR 2015) 요약 및 리뷰 [논문 리뷰] VGG16(ICLR 2015) 요약 및 리뷰 서론 1. 배경 Convolutional networks(ConvNets)는 대용량 이미지 및 영상 인식에서 큰 발전을 이룩하였는데, 이는 ImageNet과 같은 대용량 공공 이미지 데이터셋이 가능해지고, GPU와 같은 고성능 컴퓨팅 시 mountain96.tistory.com 1. Dataset 데이터셋은 CIFAR-10을 사용한다. CIFAR-10은 총 60,000장(50000 train, 10000 test)의 데이터셋이 있으며, 각 이미지는 32x32사이즈이다. train set 중 5000장은 validation set으로 활용한다...
서론 1. 배경 Convolutional networks(ConvNets)는 대용량 이미지 및 영상 인식에서 큰 발전을 이룩하였는데, 이는 ImageNet과 같은 대용량 공공 이미지 데이터셋이 가능해지고, GPU와 같은 고성능 컴퓨팅 시스템이 등장했으며, ImageNet Large-Scale Visual Recognition Challenge(ILSVRC)와 같은 대회가 있었기 때문에 가능했다. ConvNets이 사람들에게서 자주 사용됨에 따라, 기존의 큰 성공을 거두었던 AlexNet에서 이를 더 발전시키기 위한 여러 시도들이 나타났다. 그 시도들에서 성공한 케이스들 중 하나는, 첫 번째 convolutional layer에서의 작은 receptive window 와 작은 stride를 사용했다. 또 ..
Optimization 가중치를 최적화하는 방법, 혹은 가중치를 업데이트하는 방법을 말한다. Optimization에도 여러가지가 있다. 각 Optimization은 이전 기법의 단점을 보완하는 형태로 등장했고, 최근에는 어느 한 가지가 좋다!라는 느낌보다는 상황에 따라서 골라서 사용하는 추세이다. SGD 가장 초기에 사용된 optimizer이다. 기존의 Gradient Descent의 경우 한 번 학습할 때 모든 데이터를 봐야 하는데 이 때문에 속도가 너무 느려서 고안되었다. SGD는 전체 데이터에서 mini-batch라는 소규모 그룹을 뽑아서 이들을 가지고 loss를 계산한 뒤 가중치를 갱신하는 것이다. 그러나 다음과 같은 상황에서 문제가 발생한다. 이렇게 최적점을 찾아가는데 진동 현상이 있을 수 있..
논문에 대한 자세한 내용은 여기에 정리해놨다. 2021.08.05 - [논문 리뷰/CV] - [논문 리뷰] AlexNet(2012) 요약 및 리뷰 [논문 리뷰] AlexNet(2012) 요약 및 리뷰 서론 배경 객체탐지를 위해서는 많은 데이터셋, 더 강력한 모델, overfitting을 피하기 위한 발달된 기법이 필요하다. 이 중 데이터셋의 경우 기존에는 적은 양의 데이터셋에만 접근이 가능했지만(2 mountain96.tistory.com 1. Dataset Keras를 사용하여 CIFAR-10 데이터셋을 불러온다. 이후, 이를 validation 과 train set으로 각각 분리해주고, Tensorflow에 사용하기 용이한 tf.dataDataset으로 바꿔준다. => tf.data.Dataset.f..
서론 배경 객체탐지를 위해서는 많은 데이터셋, 더 강력한 모델, overfitting을 피하기 위한 발달된 기법이 필요하다. 이 중 데이터셋의 경우 기존에는 적은 양의 데이터셋에만 접근이 가능했지만(2012 기준)했다. 그 중에서도 CIFAR, MNIST와 같은 데이터셋은 현재 인간 수준의 정확성을 달성했지만, 이정도의 사이즈는 현실 세계에서 볼 수 있는 변동성 있는 풍경에 적용하기는 힘들다. 그러나 최근에는 LabelMe, ImageNet과 같은 방대한 데이터셋이 제공되었다. 또한, 강력한 GPU가 등장하면서 CNN을 이미지에 사용하는 것이 가능해졌다. CNN의 사용 그러나 수천 수만 가지의 객체들을 이미지들로부터 배우기 위해서는 객체탐지에서 비롯되는 엄청난 복잡성을 해결해야 하는데, 이를 위해서는 방..
Weight Initialization(가중치 초기화) 방법 1. 모두 0으로 초기화 이 경우 W가 모두 같으므로, 모든 뉴런이 같은 일만 하게 되는 문제점이 있다. 또한 모든 W가 모두 같기 때문에 업데이트도 항상 같은 값으로 업데이트된다. 방법 2. 작은 수로 초기화 이런 식으로 무작위으 작은 수로 초기화하는 방법도 생각해볼 수 있다. 그러나 이경우 얕은 네트워크에서는 작동하지만, 네트워크가 깊어질수록 작동하지 않는다. 정상적으로 작동하지 않는 첫 번째 이유는, 모든 W가 작기 때문에 layer가 거듭될수록 출력되는 activation 이 점점 작아지기 때문이다. 이는 곧 0으로 수렴하게 된다. 두 번째 이유는 역전파에 있다. 역전파 시 계산하는 Gradient는 위에서 내려온 미분값 * 현재 미분 ..