밑바닥 부터 시작하는 딥러닝 2 이해안가는거 정리 모음

1 self.grads[0] [...]
self .grad 에서 이 [0] 이뭐나 싶었다.
그래서 코랩 돌려봄
self.grad 는 3 중 배열로 [] [] [] 이런식으로 만들어져 있다.
3중 배열은

이런식으로 되어있어서 [0] 첫번째이다. 여기를 채운다는 의미이다.

2, what is minibatch?
미니 배치와 배치의 차이점이 뭔가?
https://89douner.tistory.com/43
9. Mini-Batch (데이터가 많은 경우에는 학습을 어떻게 시키나요?)
Q. 굉장히 많은 데이터를 학습시키려고 한다면 어떻게 학습시켜야 하나요? 데이터 하나하나 단계적으로 학습시켜야 하나요? 안녕하세요~ 이번시간에도 DNN(Deep Neural Network) 모델을 좀 더 효율적으
89douner.tistory.com
여기에 설명이 잘되어있음
https://www.baeldung.com/cs/epoch-vs-batch-vs-mini-batch
여기에 미니 배치 설명 잘되잇음요
경사적 확률은
전체의 loss 를 구한후 > 평균을 내서 사용한다 . -> 오래걸림
batch 는 데이터를 batch 사이즈로 나눠서 batch1 loss 계산 -> loss 에 따른 graident 변화 이다.
하지만 여기서 문제가 한방향으로만 갈수 밖에 없다는 것이다. 즉 미래에는 더 작은게 있을지도 모르지만.우선 이번에는 여기가 작으니까 이곳으로 가자 라는것이다.
따라서 이것은 local minimun 의 문제가 발생하게 된다.
이것을 개선한것이 mini-batch 이다.
min-batch 는

전체 데이터를 하는게 아니라. 데이터를 묶어서 mini-batch 로 만들면 된다.
(내 생각에는 batch 사이즈가 늘어날수록 .. 경우의수가 많아져서 그런가? )
3. 3차원 tensor 와 cnn 의 연관관계
책에서
h[:,-1,:] 이라는것이 time-series 에서 계속나온다. 처음에는 흐릿눈으로 .. 넘어갈려고 했는데 이해가 안되서 구글링함
3차원이라는건 백터로 생각해봐도 이런 그림이다.

그런데 이런 3차원을 쉽게 생각하기 위해서 많은 책들이

이런식으로 분리를 해놓은다음
필터( 커널) 컨뷸루션을 해놓은것들을 많이 보았다.
여기서 채널은 티비 채널같이 생각해보면
각각 네모를 채널이라고 생각하면 편하다 여기서는 슬라이싱 한 것이 3개니까 3개 채널이 있다고 생각하면 된다.
[1 , : , : ]
이제
[1 , 2 ,1 ] 은
첫번째 채널에

이것이 되는것이다.
cnn 는 image를 분류할떄 많이 사용한다. 그림은 rgb 로 되어있는 색의 집합이기 때문에 결국
우리는 채널 3 개로 분류한다.
[딥러닝 일지] Conv2d 알아보기 (joonas.io)
여기 설명 잘되있음

이렇게 필터/ 커널 작용을 하면 여러개의 2차원 네모들이 생성된다.
필터 / 커널도 2차원으로 작용했기때문에 ... 2차원이 나온다는것이다.

이렇게 커널사이즈를 조정하면 output 이 나오는것을 볼수 있다.
이렇게 나온 결과를 다시 maxpooling 할때도 있는데



