소소하지만 소소하지 않은 개발 공부/밑바닥부터 시작하는 딥러닝 4

Chapter8. 딥러닝, DL from Scratch, python

* 본 포스팅의 내용은 모두 밑바닥부터 시작하는 딥러닝 을 참고하여 작성한 내용입니다. 8.1 더 깊게 8.1.1 더 깊은 신경망으로 여기에서 사용하는 합성곱 계층은 모두 3X3 크기의 작은 필터로, 층이 깊어지면서 채널 수가 더 늘어나는 것이 특징이다.(합성곱 계층의 채널 수는 앞 계층에서부터 순서대로 16, 16, 32 , 32, 64, 64 로 늘어간다) 또 그림과 같이 풀링 계층을 추가하여 중간 데이터의 공간 크기를 점차 줄여간다. 그리고 마지막 단의 완전연결 계층에서는 드롭아웃 계층을 사용한다. 가중치 초깃값 : He 초깃값 가중치 매개변수 갱신 : Adam 위의 신경망의 특징 - 3 x 3의 작은 필터를 사용한 합성곱 계층 - 활성화 함수는 ReLU - 완전연결 계층 뒤에 드롭아웃 계층 사용 ..

Chapter.7.1~7.2 합성곱 신경망(CNN), DL fram Scratch, python

* 본 포스팅의 내용은 모두 밑바닥부터 시작하는 딥러닝 을 참고하여 작성한 내용입니다. 이번 장의 주제는 합성곱 신경망(convolution neural network, CNN) 이다. CNN은 이미지 인식과 음성 인식 등 다양한 곳에서 샤용되는데, 특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의 다 CNN을 기초로 한다. 이번 장에서는 CNN의 메커니즘을 자세히 설명하고 이를 파이썬으로 구현해본다. 7.1 전체 구조 CNN도 지금까지 본 신경망과 같이 레고 블록처럼 계층을 조합하여 만들 수 있다. 다만, 합성곱 계층(convolutional Layer)과 풀링 계층(pooling Layer) 이 새롭게 등장한다. 지금까지 본 신경망은 인접하는 계층의 모든 뉴런과 결합되어 있었다. 이를 완전연결(..

Chapter6.2 가중치의 초깃값, DL from Scratch, 파이썬

6.2 가중치의 초깃값 신경망 학습에서 특히 중요한 것은 가중치의 초깃값이다. 가중치의 초깃값을 무엇으로 설정하느냐가 신경망 학습의 성패가 가르는 일이 있다. 이번 절에서는 권장 초깃 값에 대해서 설명하고 실험을 통해 실제로 신경망 학습이 신속하게 이뤄지는 모습을 확인하겠다. 6.2.1 초깃값을 0으로 하면? 가중치 감소(weight decay) 기법 : 가중치 매개변수의 값이 작아지도록 학습하는 방법이다. 즉, 가중치 값을 작게 하여 오버피팅이 일어나지 않게 하는 것이다. 그렇다면 가중치의 초깃값을 모두 0으로 설정한다면 어떨까? 이는 나쁜 아이디어인데, 실제로 가중치 초깃값을 0으로 하면 학습이 올바로 이뤄지지 않는다. 그 이유는 오차역전파법에서 모든 가중치의 값이 똑같이 갱신되기 때문이다. 6.2...

3.6.2 신경망의 추론 처리, No such file or directory: 'sample_weightpkl', 코랩, colab

나는 계속해서 colab 환경에서 하고 있는데, 3.6.2 장에서 또 에러가 생겼다. 이유인즉슨, 내가 찾으려고하는 sample_weight 피클 파일을 찾으려는데 현재의 경로에 이 파일이 존재하지 않아 발생하는 문제이다. 이를 해결하기 위해서 현재 경로를 설정해주어야 한다. 다음의 명령어를 실행하서 확인해보면, pwd >> '/content' 이렇게 설정이 되어있다. 내가 필요한 피클 파일은, 실습파일에서 3번 디렉토리에 해당되는 경로이므로 %cd /content/drive/MyDrive/Colab Notebooks/밑바닥부터 시작하는 딥려닝/deep-learning-from-scratch-master/ch03 를 입력하여 실행해준다. (각자의 경로에 맞게 설정해주면 된..