-
2차 테일러 확장식을 이용한 gradient 이용카테고리 없음 2022. 1. 7. 20:27
https://www.youtube.com/watch?v=_JB0AO7QxSA&list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk&index=7 https://www.youtube.com/watch?v=\_JB0AO7QxSA&list=PLC1qU-LWwrF64f4QKQT-Vg5Wr4qEE1Zxk&index=7
앞선 글에서는 Learning rate 이 있었지만 지금은 없다
그러나 이 모델은 딥러닝에 조금 실용적이지 않을 수 있다
헤시안 매트릭스가 n*n 인데
n은 파라미터의 수이다
근데 파라미터수가 1억개이면 1억 *1억이면 너무 크잖아
메모리에 저장할수도없을거고 변형도 불가할거야
그래서 근사 뉴턴 방법을 쓰지
그래서 아담은 좋아 거의 대부분의 케이스에서
하지만 너가 연산이 개짱좋은 하드웨어도 있고 돈도많다면 노이즈도 없앨수있다면 L-BFGS 를 한번 써봐
로우(z)가 확률밀도 함수
, f(x,z)가 두개의 인자를 받은 함수이다.
동영상에서도 z는 랜덤이라고 한다
랜덤 프로세스는 굉장히 디지털 통신 과목에서 중요한 개념이다
적분을 이용하기 때문이다. 시그마 대신 적분이다. 랜덤, 연속 이라는 말이 들어가면 적분을 사용한다.
E는 통계적 평균이므로, 랜덤과정 f(x,z) 에 대해 확률을 곱하고 z에 대해 적분을 한 값이다.
예를 들어서 0.03의 확률을 가지는 1의 값
0.03 * 1 = 0.03
0.1의 확률을 가지는 25의 값
0.25
0.87의 확률을 가지는 0의 값
0
를 다 더하면 0.28이 된다. 이것이 통계적 평균이다.
여기에서는 적분을 평가하는게 어려워서 샘플링 하였다. 그 말은 적분을 계산하기 어려워서 여러개의 값들이 있지만
샘플링해서 여러개 추려내서 더했다는 뜻이다. 그 말은 시그마를 사용했다는 것이다.
dropout 을 사용하게 되면 이 샘플링을 사용할 수 있고 이 적분을 근사할 수 있게 된다.
아주 기발한 아이디어이다.
실제로 컴퓨터는 실제적분이 불가하고, 샘플링을 되게 많이해서 더한다. 컴퓨터가 어차피 샘플링할것이라면
안할 이유가 없다.
적분을 근사시키기 위해 drop out 시킨다. 드롭아웃은 과적합 방지, 단일 모델 내 모델 앙상블을 수행하는 것과 같다.
이 사진을 보며 expectation 이라고 한다.
이것은 통계를 안쓰고 drop out 확률만 따져서 로우(z) 가 1/4, 1/4, 1/4, 1/4 로 확률이 균일하고, 입력값은 x,y 두개의 파라미터를 받아서 각각의 가중치인 w1,w2를 곱한 것이다. 이러한 것들을 다 더하면 예측치, E 가 된다 .통계적 평균이다.
*= 왼쪽 변수에 오른쪽 값을 곱하고 결과를 왼쪽변수에 할당 c *= a → c = c * a p 을 이용해서 정규화 강도를 조절할 수 있다
위치 연산자인가... *H1.shape 부분.. ㅇ 구슬을 던지는데 그 위치는 랜덤한 것이 좋다.(과적합 방지)
테스팅은 그 던진 곳 f(x,z) 에서 구멍에 들어갈(정답일) 확률을 곱해서
하나하나 다 더한다. 확률적 통계이다.
data point 는 무엇인지 잘 모르겠지만, batch normalization 에도 관련 아이디어가 응용될 수 있다.
data point 는 f(x,z) 인 것 같다
이것은 배치 정규화와는 달리 테스팅 기간동안에 통계적 평균을 낸다.
내생각에 이번 동영상은 실패한 구슬을 없애버리는 과정이다. 그런데, 던지는 위치는 랜덤한데, 던지고 나서 , 실패했으면 구슬을 버린다.
이렇게 함으로서 비슷한 점 이 있는 것 같다
배치 정규화는 , 구슬을 배치 하는 것과 비슷하다.
구슬을 어디에서 던질 때, 좋을지 연구하는 것이다. 이곳에서 던지면 잘 안들어가더라 --> 실패했으니까 다른곳에서 던져보자
이걸 연구한다면, 이번 동영상은, 실패한 구슬을 없애는 과정이다.
우리는 이런 데이터 증강도 할 수 있다.
구슬이 들어갈 구멍을 이리저리 왔다리갔다리 조절해서 입력에 집어넣어주는 것이다!
이 부분은 잘 이해못했다
ㅇ CNN 을 이용할때 많은 데이터가 필요하다
우리는 이것을 작은 데이터셋에 맞게 바꿨다
레이어 자체를 4096 *1000 행렬에서 4096*10정도로 데이터를 reinitialize 한다.
10개 분류 문제니까 말이다
내 데이터는 작은 데이터에 similar 한 dataset 이므로
선형 분류기를 top layer에 놓아야 한다!!!!!
일단 이것부터 본다. 앙상블이라는 개념이 많이 나오는데 이러한 것과 같다.