Chapter 16 structured probabilistic models for deep learning - 1
Chapter 7 Regularization for deep learning - 2
1. 7.6 semi-supervised learning
목적 및 동기
강아지를 인식하는 모델을 만들고자 한다. 그런데 가지고 있는 데이터에 조금 문제가 있다.
label이 된 데이터 label이 안 된 데이터
Label된 데이터로만 모델을 만들자니 데이터가 너무 적고,
Label 안된 데이터에 labeling을 하자니 시간과 비용이 엄청나게 든다
어쩌지?
13. 7.7 multi-task learning
보행자 0, 1
자동차 0, 1
멈춤 0, 1
신호등 0, 1
4개의 task를 동시에
수행하는 multi-task learning
이 이미지가 𝑥(𝑖)
라는 input data라면
보행자 0
자동차 1
멈춤 1
신호등 0
𝑦(𝑖)
0
1
1
0
4 by 1 vectorInput
layer
output
layer
Hidden layer
𝑥(𝑖)
14. 7.7 multi-task learning
Cost 계산
𝑦(𝑖)
1
0
1
0
만약 이라면𝑦(𝑖)
0
1
1
0
𝐶𝑜𝑠𝑡 =
𝐶𝑜𝑠𝑡 1,0 + 𝐶𝑜𝑠𝑡 0,1 + 𝐶𝑜𝑠𝑡 1,1 + 𝐶𝑜𝑠𝑡 0,0
4
이때 Cost function은
대부분 log loss
𝑦1
(𝑖)
𝑦2
(𝑖)
𝑦3
(𝑖)
𝑦4
(𝑖)
각 성분은 𝑦𝑗
(𝑖)
로 표현
1
𝑛
𝑖
𝑛
𝑗
𝑚
𝐶𝑜𝑠𝑡( 𝑦𝑗
(𝑖)
, 𝑦𝑗
(𝑖)
)
n = example 수
m = task 수일반화 하면
보행자 0
자동차 1
멈춤 1
신호등 0
𝑦(𝑖)
0
1
1
0
Input
layer
output
layer
Hidden layer
𝑥(𝑖)
15. 7.7 multi-task learning
다른 이미지 데이터
𝑦(𝑖)
보행자 NA
자동차 0
멈춤 1
신호등 NA
이미지 데이터에 labeling이 안되어 있는 경우
Cost 계산
𝑦(𝑖)
1
1
1
0
𝑦(𝑖)
𝑁𝐴
0
1
𝑁𝐴
𝐶𝑜𝑠𝑡 𝑠𝑢𝑚 =
𝐶𝑜𝑠𝑡 1, 𝑁𝐴 + 𝐶𝑜𝑠𝑡 1,0 + 𝐶𝑜𝑠𝑡 1,1 + 𝐶𝑜𝑠𝑡 0, 𝑁𝐴
4
𝑦1
(𝑖)
𝑦2
(𝑖)
𝑦3
(𝑖)
𝑦4
(𝑖)
1
𝑛
𝑖
𝑛
𝑗
𝑚
𝐶𝑜𝑠𝑡( 𝑦𝑗
(𝑖)
, 𝑦𝑗
(𝑖)
)
n = example 수
m = task 수𝑦𝑗
(𝑖)
가 NA인것 제외하고
요 두 개는 제외하고 계산
17. 7.7 multi-task learning
Multi-task learning이 regularization 방법인 이유
경욱 연준
경욱의 특징 :
아무리 심한 말을 해도 다 받아줌
다빈 연준
다빈의 특징 :
심한 말을 하면 극대노함
각 task 마다 noise 패턴이 다름. 여러 noise 패턴을 동시에 학습을 하려다 보니 general한 모델 탄생
연준의 성격 :
심한 말을 많이 하는 성격이 됨.
다빈과는 친구가 될 수 없음 ㅠㅠ
연준경욱 다빈
두 명의 특징을 다 받아들여 일반적인 성격을 가지게 됨
18. 7.7 multi-task learning
언제 multi-task learning을 쓸 수 있나요?
1. 각각의 task가 서로의 task에 도움이 되는 비슷한 특성을 가질 때.
2. 각 task에 대해 큰 신경망을 훈련할 수 있어야 함. 큰 신경망의 경우
task를 각각 하는 것 보다 성능이 좋은 경우가 거의 대다수
**Rich Caruana라는 연구자가 밝혀낸 내용.
그리고 multi-task learning은 다른 분야에서는 많이 쓰이지 않지만
computer vision 분야에서는 많이 쓰인다.
33. 7.8 Early stopping
Training
Set
Validation
Set
Test
Set
Training
Set
데이터셋 정의
Model
Validation
Set
Epoch(𝒊)
0
Parameter(w,b=𝜽)
𝜽 𝟎
Validation error(𝝊)
𝝊 𝟎
1 𝜽 𝟏 𝝊 𝟏
If 𝝊 𝟏𝟎𝟎 > 𝝊
2 𝜽 𝟐 𝝊 𝟐
100 𝜽 𝟏𝟎𝟎 𝝊 𝟏𝟎𝟎
… … …
현재 𝝊=𝝊 𝟗𝟗
𝜽∗ = 𝜽 𝟗𝟗
𝒊∗
= 𝟗𝟗 바로 stop???
너무 정이 없으니 몇 번 봐주기로 합시다!
몇 번 = p이라고 표현(patience)
34. 7.8 Early stopping
Training
Set
Validation
Set
Test
Set
Training
Set
데이터셋 정의
Model
Validation
Set
Epoch(𝒊)
0
Parameter(w,b=𝜽)
𝜽 𝟎
Validation error(𝝊)
𝝊 𝟎
𝜽∗
= 𝜽 𝟗𝟗, 𝒊∗
= 𝟗𝟗
현재까지 𝝊 𝟗𝟗가 가장 낮은 값 𝝊 = 𝝊 𝟗𝟗
𝝊에 해당하는 파라미터 𝜽 𝟗𝟗, 𝒊
1 𝜽 𝟏 𝝊 𝟏
If 𝝊 𝟏𝟎𝟎 > 𝝊
2 𝜽 𝟐 𝝊 𝟐
100 𝜽 𝟏𝟎𝟎 𝝊 𝟏𝟎𝟎
… … …
p=2 이므로 다음 epoch으로 넘어감
p=2
35. 7.8 Early stopping
Training
Set
Validation
Set
Test
Set
Training
Set
데이터셋 정의
Model
Validation
Set
Epoch(𝒊)
0
Parameter(w,b=𝜽)
𝜽 𝟎
Validation error(𝝊)
𝝊 𝟎
𝜽∗
= 𝜽 𝟗𝟗, 𝒊∗
= 𝟗𝟗
현재까지 𝝊 𝟗𝟗가 가장 낮은 값 𝝊 = 𝝊 𝟗𝟗
𝝊에 해당하는 파라미터 𝜽 𝟗𝟗, 𝒊
1 𝜽 𝟏 𝝊 𝟏
If 𝝊 𝟏𝟎𝟏 > 𝝊
2 𝜽 𝟐 𝝊 𝟐
100 𝜽 𝟏𝟎𝟎 𝝊 𝟏𝟎𝟎
… … …
다음 epoch으로 넘어감
p=2-1
101 𝜽 𝟏𝟎𝟏 𝝊 𝟏𝟎𝟏
36. 7.8 Early stopping
Training
Set
Validation
Set
Test
Set
Training
Set
데이터셋 정의
Model
Validation
Set
Epoch(𝒊)
0
Parameter(w,b=𝜽)
𝜽 𝟎
Validation error(𝝊)
𝝊 𝟎
𝜽∗ = 𝜽 𝟗𝟗, 𝒊∗ = 𝟗𝟗
현재까지 𝝊 𝟗𝟗가 가장 낮은 값 𝝊 = 𝝊 𝟗𝟗
𝝊에 해당하는 파라미터 𝜽 𝟗𝟗, 𝒊
1 𝜽 𝟏 𝝊 𝟏
If 𝝊 𝟏𝟎𝟐 > 𝝊
2 𝜽 𝟐 𝝊 𝟐
100 𝜽 𝟏𝟎𝟎 𝝊 𝟏𝟎𝟎
… … …
이제 진짜 STOP!
p=2-2
101 𝜽 𝟏𝟎𝟏 𝝊 𝟏𝟎𝟏
102 𝜽 𝟏𝟎𝟐 𝝊 𝟏𝟎𝟐
41. 7.9 Parameter Tying and Parameter sharing
CNN(Convolutional Neural Network)의 기반이 되는 개념
기본 가정
𝑤(𝐴) 𝑤(𝐵)
모델A 모델B
같은 task를 수행하는 두 모델(둘 다 고양이를 식별하는 모델) 일 때
같은 task를 수행하기 때문에 input과 output의 분포가 비슷하고
𝑤(𝐴)
와 𝑤(𝐵)
도 가까울 것 or 동일할 것이다.
42. 7.9 Parameter Tying and Parameter sharing
저렇게 이미지를 여러 단위로 나누어도 나눠진 이미지 마다 다른 파라미터가 매겨지는 것이 아니라
같은 파라미터를 공유하는 것.
43. 7.10 Sparse representation(희소표현)
L1 regularization 에서는 L2와 달리 w가 0으로 수렴하는 특징이 있었다.
input output
InputOutput W 행렬
0 많음 = 희소함
이것을 매개변수(parameter) 희소성이라고 함
…. ….
44. 7.10 Sparse representation(희소표현)
Activation function g(z) 에 L1 regularization을 적용하면
input output
…. ….
inputW 행렬output
Activation function을 거친 input을 희소하게 만든다.
요것이 표현(representation) 희소성
무슨 의미냐 하면