일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #Ringle
- 영어공부
- 영어회화
- 영어시험
- 강동구장어맛집
- 뉴노멀챌린지
- 링글
- #링글후기
- #직장인영어
- 성내동장어
- #체험수업
- 스몰토크
- 영어공부법
- 링글리뷰
- 링글경험담
- 총각네장어
- 해외취업컨퍼런스
- 소통챌린지
- 오피스밋업
- #영어공부
- 링글커리어
- #링글
- #nlp
- Ringle
- 장어랑고기같이
- 둔촌역장어
- CommunicateWiththeWorld
- 영어로전세계와소통하기
- #영어발음교정
- 화상영어
- Today
- Total
Soohyun’s Machine-learning
Loss function + Convolutional Neural Networks 본문
Loss function + Convolutional Neural Networks
Alex_Rose 2017. 10. 16. 10:30Loss functions
Hinge loss : (SVM 기반?) 잘 맞추면 0에 가깝게 되고, 못 맞추면 2에 가깝게 된다.
|
cross-entropy loss = negative log likelihood
(theta)
----------> parameter의 크기를 억제시킨다.
YOLO (visual recognition?? 인듯?)
x, y, w, h, c
----> condidence : 이 box 가 물체를 담고 있을 확률.
c와 p를 곱하면 class 별 확률이 나온다. 그래서 이걸 기준으로 높은 것들을 보면 물건이 있을 확률이 높아진다.
SSD (YOLO를 좀 더 정확하게 만든 것)
IoU (intersection uniton) : 겹치는 영역
Smooth L1 : -1~1 까지의 구간은 L2를 쓰고, 나머지는 L1을 쓰는 것
activation function : 확률 구하는 부분
활성화 함수 -> monotonic function (단조 증가 함수)
1) unipolar 단극성 / bipolar 양극성
2) linear / nonlinear
3) contimuous 연속 / binary 이진
CNN
neuron fire :
activation map : filter 를 적용해서 만들어진 전체 결과물.
- input에서 image의 channel과 filter의 채널수는 같아야 한다.
- img size + (padding *2)는 stride에 dependent 하겠지만.. 뭐 어쨌든 filter를 거친 결과값이 정수형이 되게 해야한다.
- filter를 거치고 나온 activation map의 마지막 shape은 4
ㄴ 이거 stride를 할 때, channel 3개를 전부 다 합쳐서 1개의 이미지값으로 보고, max pooling을 하는건가?
그렇다면 output으로 나온 activation map이... 32 x 32 x 10 (필터 개수)가 되는 걸 이해할 수 있지만..
근데 그러면 초반에 32 x 32 x 3에서 (padding을 하기 전) channel 개수를 RGB로 해주는 건 왜지?
단순한 계산으로는 32 x 32 x 3에 패딩을 해서 36 x 36 x 3이 되고, 거기에서 max pooling을 10개의 5 x 5 필터로 해주니까
결과가 되는 output (activation map)은 32 x 32 x 30이 되어야 할 것 같은데.. 왜??
처음의 input image에서의 channel과 output 에서의 마지막 숫자는 다른 개념인건가?? 각 10개의 필터들의 값이 모여서 1개의 pixel을 구성하기 때문에?? (참고 : http://pythonkim.tistory.com/52)
rules of thumb : 경험에서 우러나 실용적으로 사용하는 수단이나 방침을 뜻함. 자신의 경험에 의거한 판단. 대략, 어림짐작, 눈대중..
pervasive : 퍼지는, 골고루 미치는, 보급하는, 스며드는
covariance : 공분산
annoyance :
holistic :
subtle :
twitch :
tweak :
convex hull :
brittle :
scalable :
hand-specify :
ingest :
spit :
concise :
backwards :
afford :
deploy :
perspective :
spurious :
topology :
equidistant :
coordinate :
insure :
alleviate :
manifold :
disaparate : ??
hone :
clutter :
unravel :
unwieldy :
formalize :
denote :
formulation :
compactify :
preferable :
weigh :
snippet :
spector : spector ?
plopping :
spatial :
dimension-wise :
intersperse :
subtlety :
hierarchy :
compensate :
compatible :
interval :
asymmetric :
incorporate :
muffled :
allued :
one filter = one activation map
convoultions of two layers?
downsamples :
terminology :
convolutional outputs :
spatial dimension :
five spatial locations horizontally : (필터를 5번 가로로 슬라이딩 한다.)
example time :
Input volume : 32 x 32 x 3
10 5x5 filters with stride 1, padding 2
output volume size?
1개의 필터가
32번 가로로 스트라이딩
32번 세로로 스트라이딩
32x32x3 이 이 필터 1개가 가지고 있는 값
(max pooling)
10개의 5x5 필터를 통과해서 나온 결과값
32 x 32 x 10
(32 x 32의 애들이 10개가 있당. 이 10개가 모여서 1개의 pixel값을 형성한다.
R,G,B에서 각각의 R값, G값, B값이 모여서 1개의 pixel 값을 형성하듯이!!)
그럼 여기에서 말하는 number of parameters 의 뜻은?
ㄴ 이 연산을 수행하는 해당 convolution layer가 가진 parameters의 개수
filter가 1번 연산을 할때마다 (epoch이 아님) 몇 개의 parameters 가 세팅되어져야 하는가..라는 측면인듯?
필터의 사이즈가 5 x 5이고, 이게 1번 stride할 때, R,G,B 전부를 데려오므로 5 * 5 * 3이 된다.
여기에 bias값인 1을 더해서 1번 stride할때마다 76개의 parameter를 사용하게 된다.
그래서 첫번째 위치 (1개의 픽셀을 만들기 위해서)를 10개의 filter가 거친다고 생각하면..
1개의 pixel을 내놓기 위해서 이 연산이 가져야 하는 parameter의 개수는…
(1번 stride시에 사용되는 parameter의 개수 + bias) * 필터의 개수 = 76 * 10 = 760개가 된다.
'Lectures > CS231N (ML basic)' 카테고리의 다른 글
misc NN information (0) | 2017.10.30 |
---|---|
Backpropagation and Neural Networks (0) | 2017.10.15 |
Questions (0) | 2017.10.14 |
k-Nearest Neighbor Algorithm (0) | 2017.10.12 |
Module1 : Image Classification: Data-driven Approach, k-Nearest Neightbor, train/vall/test splits (0) | 2017.10.10 |