일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- js
- javascript
- 파이썬 알고리즘
- Baekjoon
- AWS
- PYTHON
- form
- django widget
- Algorithm
- Git
- 알고리즘
- API
- HTML
- 알고리즘 문제
- 파이썬
- c++
- 백준
- 알고리즘 풀이
- 알고리즘 연습
- CSS
- django ORM
- 장고
- django rest framework
- MAC
- es6
- react
- web
- DRF
- Django
- Today
- Total
목록옵티마이저 (2)
수학과의 좌충우돌 프로그래밍
신경망의 구조 1. 네트워크를 구성하는 층 층은 신경망의 가장 핵심적인 요소라고 할 수 있다. 하나 이상의 텐서를 입력으로 받아 마찬가지로 하나 이상의 텐서를 출력하는 데이터 처리 모듈이라고 볼 수 있다. 층에 따라서 상태를 가질수도 있고 아닐 수도 있는데 대부분의 경우 상태를 가지고 이 상태를 가중치 라고 한다. 입력되는 텐서에 따라서 다른 층을 선택하여야 한다. (samples, features) 크기의 2D 텐서로 저장된 간단한 벡터 데이터는 완전 연결층(fully connected layer) 이나 밀집 층(dense layer)라고 불리는 밀집 연결 층(densely connected layer)에 의해 처리된다. 케라스에서는 이를 Dense 클래스로 구현한다. (samples, timestep..
텐서연산 그레디언트 기반 최적화 output = relu(dot(W,input)+b) W와 b는 각 층의 속성처럼 생각할 수 있다. W는 가중치, b는 편향이라고 부르며 초기에는 무작위 난수로 채워져 있다. 당연히 난수이기 때문에 위 식의 계산은 의미가 없다. 여기서 각 층의 속성들을 조정하게 되는데 그 과정은 다음과 같다. 훈련 샘플 x 와 이에 대응되는 타깃 y의 배치를 추출한다. x 에 대한 예측값 y_pred를 구한다. y_pred와 y의 차이를 이용해 손실을 계산한다. 배치에 대한 손실이 감소되는 방향으로 각 층의 속성들을 조정한다. 4번에서 각 층의 속성들을 어떠한 방법으로 조정할지가 중요한 포인트가 된다. 확률적 경사 하강법 앞에서 봤던 4번을 어떻게 구현할지에 대한 이야기이다...