Data Science/Deep Learning 7

3. 데이터 증강기법 (Data Augmentation)

CNN은 영상의 2차원 변환인 회전(Rotation), 크기(Scale), 밀림(Shearing), 반사(Reflection), 이동(Translation)와 같은 2차원 변환인 Affine Transform에 취약하다. 즉, Affine Tranform으로 변환된 영상은 다른 영상으로 인식한다. 또한 이 뿐만 아니라 Noise삽입, 색상, 밝기 변형 등을 활용하여 Data Augmentation 효과를 얻을 수 있다. Data Augmentation을 위한 데이터 생성(generator)하는 방법으로 keras의 ImageDataGenerator을 사용할 수 있다. 이 Data Generator는 이미지에 변화를 주면서 컴퓨터의 학습자료로 이용하여 더욱 효과적이고 과적합을 방지하는 방식으로 학습할 수 ..

2. 추가적인 손실 함수(Regularization)

1. Regularization 이란 : 정규화 기법으로 알고리즘의 일반화(Generalization)을 개선하려는 모든 기법을 말합니다. 흔히 최적화 기법에 추가적인 손실 함수를 추가하는 것을 정규화 기법이라고 부릅니다. 그러나 regularization을 통해 loss값이 감소하기를 기대하면 안되고, 오히려 loss값이 증가할 수도 있습니다. 다시말해, regularization의 목적) loss값이 training에서 잘 줄어들지 않더라도, validation, test에서 loss가 감소하도록 한다. 2. Regularization 방법 - 추가적인 손실 함수들 1) Weight Decay : weight의 L-2 norm (제곱한 것을 모두 더해서 루트 씌운 것; (참고: http://taewa..

1. Overfitting의 해결

1. Overfitting이란 데이터셋의 구성은 학습 데이터/ 검증 데이터/ 테스트 데이터로 구성되어 있습니다. - 학습 데이터: 학습 과정에 보여지고, 실제 모델을 학습하는 데에 사용되는 데이터 (50-70%) - 검증 데이터: 학습 과정에 보여지는 데이터이지만, 모델 학습에 사용하지 않고 학습이 잘 되는지 검증하는데만 사용하는 데이터( 5-15%) - 테스트 데이터: 학습 과정에서는 사용하지 않고, 학습을 마친 모델을 평가하기 위해 단 한번만 사용하는 데이터(30-50%) 이때 그림과 같이 Train set에서는 학습 점수가 잘 나오는데, Dev set에서는 잘 나오지 않을 때, 일반화가 잘 되지 않아서 overfitting이 발생했다고 볼 수 있습니다. 2. Overfitting 방지 방법 1) E..

2. 경사 하강 학습법 - 경사 하강 학습법

앞서 학습-최적화 이론-경사 하강 학습법 에 대한 개념을 이해하였으니, 수학적으로 어떻게 표현되는지를 알아보도록 하겠습니다. 1) 최적화 이론이란 다시 한번 자세히 살펴보면, 가능한 모든 해 중 최적의 해(이게 최소값이 될 수도 있고, 최대값이 될 수도 있습니다.)를 찾는 문제를 해결하는 이론입니다. 이를 '딥러닝 네트워크 학습'에 접목시켜보면, 손실함수(Loss Function)이 최소가 되게 하는 Training Parameter를 찾는 문제가 되는 것 입니다. 2) 최적화 문제를 풀기위한 방법으로는 분석적 방법(함수의 모든 구간을 수식으로 알 때 사용하는 수식적 해석 방법) 과 수치적 방법(함수의 형태와 수식을 알지 못 할때 사용하는 계산적인 해석 방법)이 있습니다. real world..(?) 에..

2. 경사 하강 학습법 - 모델의 학습과 경사하강 학습법과 최적화이론의 관계

경사 하강 학습법을 배우기에 앞서, 모델의 학습이 뭔지, 그리고 최적화 이론이 뭐고, 이 셋의 관계가 무엇인지를 살펴보겠습니다. 1) 모델의 학습 학습에는 두 종류가 있습니다. 1. Supervised Learning(지도학습) : 학습 데이터의 입력과 함께 정답을 알려주고 그 정답(Label 또는 Groundtruth라고 합니다. )을 맞추도록 하는 방법 2. Unsupervised Learning(비지도학습) 정답의 제공 없이 학습 데이터로부터 유용한 정보를 추출하는 방법 2) 머신러닝의 Supervised Learning에 관련된 용어 앞으로는 이 용어들을 사용하여서 앞서 제시했던 학습 목표들을 살펴볼 것입니다. 1. Training Parameters(학습 매개변수) : Training과정에서 값..

1. 가장 단순한 신경망을 통한 작동원리 - Shallow Neural Network 수식적 이해

1) 뉴런의 수학적 표현 이를 수식으로 나타내면, y = a(∑ wi xi +b) 입니다. '∑ wi xi'는 벡터의 내적과 동일해서, y = a(wTx + b) 로 다시 쓸 수 있습니다. 즉, 뉴런은 수학적으로 두 벡터의 내적으로 쉽게 표현할 수 있습니다. 2) Fully connected layer의 수학적 표현 위에서는 y가 하나인 경우, 즉 뉴런의 수학적 표현을 알아보았는데, y가 여러개가 모인(전부 연결된) 계측을 수식적으로 표현하는 것은 y0 = a(wTx0 + b0) y1 = a(wTx1 + b1) y2 = a(wTx2 + b2) y3 = a(wTx3 + b3) y4 = a(wTx4 + b4) ... 이 모두 모인 것입니다. 따라서 벡터가 여러개 모여 Matrix를 형성하여 Matrix의 형..

1. 가장 단순한 신경망을 통한 작동원리 - Shallow Neural Network

1) Artificial Neural Network (인공 신경망) : 뉴런이 모여 서로 연결된 형태를 인공신경망 이라고 합니다. 딥러닝 네트워크는 인공신경망을 기반으로 합니다. 더보기 인공 신경망의 또 다른 부흥의 근거 1. 신경망을 훈련시키기 위한 데이터가 방대하다. 인공 신경망은 규모가 크고 복잡한 문제에서 다른 머신러닝 기법보다 좋은 성능을 나타낸다. 2. 수백만 개의 강력한 GPU카드를 생산해 내는 게임 사업과 무어의 법칙 등 1990년대 이후 크게 발전된 컴퓨터 하드웨어의 성능 3. 훈련 알고리즘의 향상 4. 인공 신경망의 투자 와 진보 선순환 등이 있습니다. 출처: 329p 2) Fully-connected layer ; Dense layer (전결합 계층) 뉴런이 모인 한 단위인 layer..