일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 관심사분리
- GPT
- 백준9095
- 논문
- deeplearning
- 백준 1339 자바
- 짝지어제거하기
- 자바
- 디미터법칙
- 논문리뷰
- dijkstra
- 백준 1916 자바
- 백준 1339
- 논문구현
- Alexnet
- Java
- 1261
- 알렉스넷
- 머신러닝
- 1107번
- 알고리즘
- 1916
- 백준
- 딥러닝
- 다익스트라
- 3745
- MachineLearning
- cs231n
- 클린코드
- NLP
- Today
- Total
목록딥러닝 (12)
산 넘어 산 개발일지

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는 위에서 내려온 미분값 * 현재 미분 ..

Activation Functions Activation function은 한 뉴런(혹은 레이어)에서 값을 출력할 때 사용되는 함수이다. 즉 가장 최종적인 연산이라고 생각하면 된다. 이 Activation function에도 여러 종류가 있다. 가장 최초로 나온 것은 Sigmoid이며, 이에 대한 보완책으로 여러 함수들이 개발되었다. 이 함수들에 대해서 각각 어떤 문제점을 보완했는지, 단점은 무엇이 남아있는지를 공부하고자 한다. Sigmoid 함수는 일정한 범위 내에서(약 [-4, 4])는 선형적인 모습을 보이지만, 이를 벗어나면 비선형적인 모습을 보인다. 이는 뉴런의 "firing rate"를 적절히 해석했다는 점에서 장점이 있지만, 3가지 단점이 있다. 첫 번째는 saturate 되는 부분, 즉 뉴런..

Fully Connected Layer (FC layer) Fully Connect Layer(이하 FC layer)는 보통 CNN 모델들의 마지막 분류기에서 사용된다. 보통 W라는 가중치에서 한 줄의 원소들이 모두 input 원소들과 곱해져 하나의 activation 노드를 형성하기 때문에 Fully-Connected(모두 연결된)이라는 용어를 쓰는 것 같다. W라는 가중치는 input -> output으로 만들어주므로 당연히 그 사이즈는 (inputSize x outputSize) 이다. 이를 통해, activation 노드 하나는 W의 특정한 가중치를 통해 input 전체를 본다고 할 수 있겠다. Convolution Layer Convolution Layer는 한 이미지를 필터들을 통해 연산을 하..