Skip to content

Commit d0d381a

Browse files
Update CS231n 3강(혜주).md
1 parent ab39d40 commit d0d381a

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

CNN/CS231n 3강(혜주).md

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,9 @@ Loss는 모델에 의한 예측 이미지 라벨과, 실제 이미지의 라벨
1717

1818
전체 데이터 셋의 Loss는 다음과 같이 표현할 수 있습니다.
1919

20-
$L\quad =\frac { 1 }{ N } \sum _{ i }{ { L }_{ i }(f({ x }_{ i },W),{ y }_{ i }) } \quad$
20+
![eq1](https://user-images.githubusercontent.com/32008883/31017256-d832a6a8-a562-11e7-88be-77c95d3e6907.png)
2121

22-
23-
$f({ x }_{ i },W)$는 모델에 의한 예측 이미지 라벨이며, ${ y }_{ i }$는 실제 이미지의 라벨입니다. Loss를 모두 합쳐 데이터의 개수로 나누면 전체 데이터 셋의 Loss를 구할 수 있습니다.
22+
![eq2](https://user-images.githubusercontent.com/32008883/31017257-d8709260-a562-11e7-8ce0-c318c6e6716f.png)는 모델에 의한 예측 이미지 라벨이며, ${ y }_{ i }$는 실제 이미지의 라벨입니다. Loss를 모두 합쳐 데이터의 개수로 나누면 전체 데이터 셋의 Loss를 구할 수 있습니다.
2423

2524

2625

@@ -30,15 +29,15 @@ Loss 를 정량적으로 측정하는 방법에는 크게 두 가지가 있습
3029

3130
- **SVM Loss에 대한 이해**
3231

33-
$s\quad =\quad f({ x }_{ i },W)$
32+
![eq3](https://user-images.githubusercontent.com/32008883/31017258-d8a9c256-a562-11e7-8e18-23523b046bc7.png)
3433

3534
라고 표현하고, safety margin을 1이라고 합니다.
3635

3736
예를 들어 고양이 이미지 데이터가 input값이라면 ,
3837

39-
${ s }_{ { y }_{ i } }$는 '고양이' 라벨에 대한 점수입니다.
38+
![eq4](https://user-images.githubusercontent.com/32008883/31017259-d8cbb0d2-a562-11e7-896c-a9d0a4f3fd36.png)는 '고양이' 라벨에 대한 점수입니다.
4039

41-
${ s }_{ j }$는 '강아지','개구리'등 다른 잘못된 라벨에 대한 점수라고 할 수 있겠습니다. 그러므로 ${ s }_{ { y }_{ i } }$가 ${ s }_{ j }$보다 충분히 커야 잘 분류했다고 볼 수 있겠죠? 그런데 근사한 차이로 분류를 해버린다면 틀릴 경우가 생길 수도 있습니다. safety margin이라는 것을 이용해서 더 큰 차이로 (안전빵) 분류를 해냈을 때 성공으로 정의합니다. 즉, Loss 가 0인 경우입니다. 잘못 분류한 경우는 Loss를 ${ s }_{ j } + 1$ 에서 ${ s }_{ { y }_{ i } }$를 뺀 값으로 정의 합니다. 이를 수식으로 정의하면 다음과 같습니다.
40+
![eq5](https://user-images.githubusercontent.com/32008883/31017251-d7377cec-a562-11e7-900d-ae03dde6c502.png)는 '강아지','개구리'등 다른 잘못된 라벨에 대한 점수라고 할 수 있겠습니다. 그러므로 ![eq4](https://user-images.githubusercontent.com/32008883/31017259-d8cbb0d2-a562-11e7-896c-a9d0a4f3fd36.png)가 ![eq5](https://user-images.githubusercontent.com/32008883/31017251-d7377cec-a562-11e7-900d-ae03dde6c502.png)보다 충분히 커야 잘 분류했다고 볼 수 있겠죠? 그런데 근사한 차이로 분류를 해버린다면 틀릴 경우가 생길 수도 있습니다. safety margin이라는 것을 이용해서 더 큰 차이로 (안전빵) 분류를 해냈을 때 성공으로 정의합니다. 즉, Loss 가 0인 경우입니다. 잘못 분류한 경우는 Loss를 ![eq6](https://user-images.githubusercontent.com/32008883/31017252-d787f47e-a562-11e7-8e3f-8b45484fb077.png) 에서 ![eq4](https://user-images.githubusercontent.com/32008883/31017259-d8cbb0d2-a562-11e7-896c-a9d0a4f3fd36.png)를 뺀 값으로 정의 합니다. 이를 수식으로 정의하면 다음과 같습니다.
4241

4342
참고: safety margin은 반드시 1이 아니어도 된다. 어차피 상대적인 차이를 표시하는 것이기 때문에 상관없다.
4443

@@ -72,15 +71,15 @@ A2. 어차피 CAR 점수가 가장 높기 때문에 Loss에는 차이가 없다.
7271

7372
Q3. Loss function을 조금 수정하여 다음과 같이 제곱을 하면 달라질까?
7473

75-
${ L }_{ i }=\sum _{ j \neq { y }_{ i } }{ max } { (0,{ s }_{ j }-{ s }_{ { y }_{ i } }+1) }^{ 2 }$
74+
![eq7](https://user-images.githubusercontent.com/32008883/31017253-d7bebcde-a562-11e7-87b7-a6124edb7751.png)
7675

7776
A3. 제곱을 하면 다르다. 제곱을 한다는 것은 그만큼 Loss에 의한 데미지 정도를 크게 취급한다는 것이다. 조금 나쁜 것과 많이 나쁜 것의 차이를 크게 하여 Loss의 중요도를 조절한다고도 볼 수 있다.
7877

7978

8079

8180
- **Loss function Example Code**
8281

83-
${ L }_{ i }=\sum _{ j \neq { y }_{ i } }{ max(0,{ s }_{ j }-{ s }_{ { y }_{ i } }+1) } $
82+
![eq8](https://user-images.githubusercontent.com/32008883/31017255-d7fad106-a562-11e7-98cf-2286c3e8dfd7.png)
8483

8584
```python
8685
def L_i_vectorized(x, y, W):

0 commit comments

Comments
 (0)