과학

딥러닝 시리즈 ) 왜 확률을 쓸까? (응용편)

이번 글은 내가 썼던 왜 확률을 쓸까? 1, 2편을 잘 읽고 와야 따라올 수 있을거야

1편 : https://www.dogdrip.net/398692671

2편 : https://www.dogdrip.net/399628978

 

오늘 볼 건 mixup이란 논문으로, ICLR 2018에 발표되었어.

ICLR은 NIPS, ICML와 더불어 AI 분야의 탑 3 학술대회라고 불리어.

탑 학술대회에 나온 논문이 어느정도냐고?

음... 최대한 비교하기 쉽게 말해보자면 대한민국에서 100명 안에 들어오는 AI분야 천재들도

1년에 한편 내기 힘든 곳이야.

 

엥? 근데 그렇게 세기의 천재들이 낸 논문을 비전공자따리들이 읽을 수 있어?

고작 글 두편 읽고온거 뿐인데?

읽을수 있어! 나만 믿고 따라와!

 

mixup : BEYOND EMPIRICAL RISK MINIMIZATION (Zhang et al., MIT)

 

이 논문은 단 하나의 수식으로 제안 방법을 설명해.

화면 캡처 2022-04-22 205343.png

1) 무슨 의미일까?

 

x, y 위에 있는 물결표는 틸데라고 읽어. 각각 엑스틸데 와이틸데라고 읽으면 돼.

왜 붙어있냐구? 틸데가 붙어있으면 해당 값과 유사하거나 가짜 값이라는 의미야.

즉 저 수식으로 만들어진 x 틸데는 x와 유사한 값이거나 진짜 x가 아니라는 의미야.

내가 여태까지 사용한 P~도 왜 그렇게 이름을 붙였는지 알겠지?

 

x는 문제 (여기서는 주로 이미지), y는 정답을 의미해.

예를 들어 개 사진과 고양이 사진을 x라 두면, y는 개, 고양이가 되겠지!

 

i와 j는 서로 다른 레이블의 데이터임을 의미해.

개 사진은 x_i인거고, 고양이 사진은 x_j, {정답 : 개}는 y_i, {정답 : 고양이}는 y_j인거야.

 

ㅅ 모양으로 있는 기호는 람다라고 읽어.

이건 비율을 의미해. 람다가 0.5라고 한다면 x~ = 0.5x_i + 0.5x_j 가 되겠지.

즉 두 이미지를 반반씩 섞어서 x~를 만들었다는 뜻이야.

이 논문에서는 람다를 랜덤 변수로 놔. (* beta(0.1, 0.1)에서 샘플링하는데, 궁금하면 따라 찾아봐)

 

결론은 뭐냐,

img_01.png

(한밭대 AiRLab 블로그 참조)

 

서로 다른 이미지를 합성한 다음 (개 고양이 사진을 합성해서)

정답도 섞어서 모델을 학습시킨다는거야. (람다가 0.5라고 가정하면, 여기서는 Q = { 개 = 50%, 고양이 = 50% } )

정말... 간단하지?

놀랍게도 이 방법을 통해 대부분의 경우 예측성능을 향상시켰고

ai가 헷갈릴수 있는 이미지 (adversarial attack, 이 글 참고) 에는 특히 더 좋은 성능을 보였어.

 

2) 어떤 원리일까?

 

상식적으로 좀 이해하기 힘들지.

단순히 사진을 합성하고 정답도 합성해놨더니 딥러닝 성능이 높아진다고?

해답은 바로 ERM에 있어.

우리가 저번에 살펴봤던 ERM 수식을 보자.

화면 캡처 2022-04-22 210814.png

뭔가 다닥다닥 많이 붙어있는데 맨 오른쪽만 보면 돼.

(관심있는 개붕이들은 이전에 내가 말한 Monte Carlo method가 적용된걸 바로 눈치챘을거야.)

x_i를 입력받고 출력한 정답 예측값 f(x_i)와 실제 정답인 y_i를 사용해서

Loss인 l을 계산하고, 모든 n개의 데이터에 대해 loss를 구해 더한다음 평균을 취한거야.

저번에 살펴본 수식이랑 기호만 살짝 다르지 완전 똑같지?

그럼 제일 왼쪽의 R(f)를 최소화시키는 방향이 딥러닝 모델을 학습하는 방향이란 걸 알수 있겠지.

 

그런데 이렇게해선 real P를 구하기 무척 어려워.

따라서 Chapelle et al. (2000) 이란 사람은 ERM 대신 VRM이란걸 제안해.

화면 캡처 2022-04-22 211215.png

뭐냐하면 진짜 x와 y를 넣기보다는

x에 잡음이나 노이즈같은걸 섞은 x~를 넣어주자는거지.

실제로 그전까지 이런 식으로 데이터를 뻥튀기하고 그랬어. 멀쩡한 이미지도 입력하고, 손상된 이미지도 입력하고.

mixup이란 방법은 저 x~와 y~에 합성한 데이터를 넣어주는 방법이야.

 

3) 왜 작동할까?

 

아주 쉬운 예시를 한번 보자.

화면 캡처 2022-04-22 213558.png

 

주황 점은 '고양이 사진', 초록 점은 '개 사진' 이라고 해보자.

딥러닝 모델은 각 사진을 수치로 변환하는데, 이미지를 두개의 숫자로 변환했다 치면 2차원 x축 y축 그래프상에 그릴 수 있겠지?

그런 거라고 가정하면 돼.

 

ERM으로 충분히 많이 훈련된 경우 왼쪽처럼 결정경계 (파란 원) 가 생겨.

뭐냐하면, 딥러닝 모델은 가운데로 뭉친 데이터일수록 확실하게 고양이라고 (고양이 = 100%!!) 말하다가

밖으로 빠져나오면 어느순간 갑자기! (개 = 100%!!) 라고 말한다는거지.

그런 반면 오른쪽처럼 mixup으로 훈련된 경우, 가운데로 뭉친 데이터는  (고양이 = 100%!!) 라고 말하다가

밖으로 빠져나오면 서서히 (개 = 1%?) 라고 말하게 돼.

 

이거 어디서 많이 들어보지 않았어?

내가 현실에서는 데이터에는 오류가 있을 수 있고, 실세계의 P는 Q와 다르게 99.999% 와 같이 불확정성을 가진다고 했지.

mixup은 그걸 데이터 합성을 통해 가상으로 구현한거야.

 

제목 없음.png

그림이 좀 어려웠을까봐 추가해봤어.

주황색 녹색 곡선은 각 데이터가 발생할 확률을 말한거야.

근데 보면 주황색과 녹색이 겹치는 라인이 있지?

주황색이 고양이, 녹색이 개라고 한다면, 그 중에는 개와 정말 닮은 고양이 사진도 있을거고

고양이와 정말 닮은 개 사진도 있을거야.

우리는 그 사진을 보고 오답을 낼 가능성이 높지. 이런 사진들은 정말 드물고 학습하기도 어렵거든.

근데 파란색의 결정경계는 그걸 무시하고 어느 순간 무조건 고양이 100%! 개 100%! 라고만 해.

하지만 mixup으로 훈련하게 되면 이런 데이터를 어느정도 학습할 수 있게 돼서 대처할 수 있고

또 실제로 이게 몇%의 확률로 고양이인지 개인지 P를 흉내낼 수 있게 되는거야.

화면 캡처 2022-04-22 214557.png

파란선은 ERM을 통해 충분히 학습한 모델의 경우, 주황선은 mixup을 통해 충분히 학습한 모델의 경우야.

가로축은 람다야. x_i 데이터와 x_j 데이터를 얼마만큼 섞어서 해당 모델에 입력하느냐야.

세로축은 에러율. 이 때 에러는 모델이 출력한 정답이 i, j 에 속하지 않을 경우를 의미해.

예를 들어 고양이와 개 사진을 반반 섞어서 입력했더니 뜬금없이 햄스터라고 출력했을 경우 miss에 속해.

 

ERM을 통해 훈련한 경우, 어떻게 봐도 개나 고양이 둘 중 하나인 사진일 때에도 전혀 뜬금없는 답을 낼 때가 많아.

특히 이미지를 반반 섞었을 경우 이런 경향이 커지는 편이지.

반면 mixup을 통해 훈련한 경우는 이런 에러율이 상당히 적은 걸 알 수 있어.

 

즉 mixup은 현실에서 잘 포착하기 어려운 데이터에 대해서도

(발생 확률이 적어 현실에서 가져오기 힘든 데이터, 즉 학습하기 어려운 데이터)

추론 능력을 키울 수 있는 좋은 방법이라고 할 수 있어!

 

의문사항이 있으면 언제든 질문 받을게.

혹시 다뤄주길 원하는 내용이 있으면 얘기해줘! 재밌어보이면 글로 써볼게.

21개의 댓글

2022.04.22
1
2022.04.23
0
2022.04.23
0
2022.04.23
0
2022.04.23

그래프요!

0
2022.04.26
@TigerZzam

GCN 다뤄달라고??

0
2022.04.26
@lIIIIllIlIl

0
2022.04.23

Data augumentation하는 방법 중 하나고 결국은 좀 더 일반화 된 모델 (regulization)을 만드는게 목적인거네.

이전 글 안에 다 있는 내용이긴 하지만, loss를 정의해놓고 왜 Empirical risk라는 개념을 사용하는지 설명이 더 자세히 들어간다면, mixup의 목적이 샘플링된 확률분포를 확장시켜서 empherical risk가 loss에 더 가까워 질 수 있도록 하는 즉, 마지막 문단을 더 잘 이해할 수 있을거 같음..

1
2022.04.23
@말안통함

최적화에서도 그렇고 loss function은 인간이 정의하는건데 최적의 loss fuction은 어떻게 결정할거고...이런거 생각하다뵤면 현타옴

0
2022.04.23
@말안통함

흠 사진을 추가해봤음

0
2022.04.23

선생님 너무 멋있어요

0
2022.04.23

재밋당

0
2022.04.23

오 합성해서 학습하는거는 쌈박하네;;

0

와 데이터분석!!

데이터 사이언티스트 멋집니당!!!

0
2022.04.25
0

근대 기마전의 판도를 바꾼건 천재 장인이 만든 걸작이 아니라 아무나 찍어낼수 있을 정도로 쉬운 등자였고 현대 자산관리의 기초가 되는 포트폴리오 이론도 그 공로를 인정받아 노벨경제학상까지 탔지만 학부수준의 선형대수학만으로 설명이 가능했었지

0
2022.04.25
@대머리머대리머머리대대리

맞긴한데 사실 이론적 설명이 완벽하게 안돼서 심사과정에서도 낮게 (포스터로) 평가됨. 사실은 둘을 합성해서 훈련했을때 miss 그래프에서 erm보다 성능이 좋은건 당연한거거든. 근데 왜 일반적으로 성능이 높게 나오고 adversarial attack에도 강한지에는 설명이 안되긴함. 이 부분은 다른 논문이 설명한거같긴 한데 거기까진 안다뤘음

0
@lIIIIllIlIl

explainability는 이쪽 바닥의 고질병이니까

 

학회들이 자꾸 수학과 과학&공학 사이에서 갈팡질팡하는 느낌을 계속 받음. 일단 응용수학의 한 갈래니까 수학적 엄밀성은 계속 따져야하는데 다루는게 블랙박스에다가 실전성이 너무 뛰어나다 보니 어쩔수 없이 의학 케이스 리포트도 아니고 “이렇게 했는데 됨. 그냥 됨. 여기 통계 보면 유의함. 우리가 생각하기에는 이래서 이런것 같은데 우리도 사실 잘 모르겠음 ㅎㅎ…further research needed…ㅋㅋ..ㅈㅅ!!” 하고 넘어가는 것들도 다 받으니까 어느 장단에 맞춰야 할지 모르겠음

0
2022.04.25
@대머리머대리머머리대대리

아이디어 제안이 좋으면 그만큼 설명 없어도 되는거같고, 반대로 설명 잘하면 새로운 아이디어 없어도 되는거같고 하는 느낌이라 그렇게 막 못굴러가는거같진 않음. 애초에 너무 복잡하게 움직이니까 기존 이론이 먹히는게 별로 없어서 쓸만한 도구도 별로 없고

0
@lIIIIllIlIl

갈팡질팡한다는건 다르게 말하면 나름 사정에 맞춰서 유도리있게 진행한다는 이야기니까 주제 특성상 이게 최적해일수도 있겠네.

 

나는 배울때 오토인코더를 제일 흥미있게 배웠었는데 KLD도 커버했겠다 VAE와 feature extraction같은것도 쓰면 재밌을것 같음

 

내가 한번 “사람의 외모는 평균에 다가갈수록 잘생겼다고 느낀다”라는 주장을 한국인 얼굴 데이터셋 써서 VAE 돌린다음에 z공간에서 평균을 복원시켜 증명도 할겸 설명하는 글을 개드립에 쓰려했는데 데이터셋도 구하기 귀찮고 중간에 현자타임와서 그냥 놔버려가지고ㅋㅋㅋ

0
2022.04.25
@대머리머대리머머리대대리

vae는 수식유도 과정이 핵심인데 이부분은 수식이 복잡해서 다루기는 어려울듯 ㅜ

너가 말한 내용도 재밌을거같긴 하네 구현은 데이터셋만 있으면 오픈소스 돌려버리면 끝날듯!

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜
563 [과학] 경계선 지능이 700만 있다는 기사들에 대해 34 LinkedList 12 18 일 전
562 [과학] 번역)새들은 왜 알을 많이 낳는가? - 후투티의 형제살해 습성... 7 리보솜 3 2024.03.23
561 [과학] 학계와 AI, 그리고 Bitter Lesson (쓰라린 교훈) 26 elomn 35 2024.02.17
560 [과학] 지구의 속삭임, 골든 레코드의 우주 9 Archaea 10 2024.02.16
559 [과학] 잔혹한 과학실험 이야기 <1> 절망의 구덩이 19 개드립하면안됨 37 2024.02.15
558 [과학] 스트레스를 받으면 술이 땡기는 이유 12 동식 16 2024.02.10
557 [과학] 지능은 모계유전이 아니다. 40 울릉특별자치도 35 2024.01.26
556 [과학] 진화를 생각할 때 고려할 것들 23 날씨가나쁘잖아 12 2024.01.17
555 [과학] 학문적(과학적) 접근과 유사 진화심리"학" 26 날씨가나쁘잖아 19 2024.01.15
554 [과학] 호모 사피엔스의 야릇한 은폐된 배란에 대한 남녀 학자의 다... 14 개드립하면안됨 15 2023.12.29
553 [과학] 김영하의 작별인사를 읽고 느낀 점 (스포있음) 21 장문주의 2 2023.11.28
552 [과학] 제4회 포스텍 SF 어워드 공모전 ( SF 단편소설 / SF 미니픽션 ) 2 따스땅 1 2023.11.25
551 [과학] 펌) CRISPR 유전자 가위 치료제 "최초" 승인 12 리보솜 7 2023.11.25
550 [과학] 러시아는 기술산업을 어떻게 파괴시켰는가(펌) 9 세기노비는역사비... 15 2023.11.18
549 [과학] 고양이에 의한 섬생태계 교란과 생물 종의 절멸 (펌) 2 힘들힘들고 6 2023.11.16
548 [과학] 번역) 알츠하이머병 유전자는 어떻게 살아남았는가? 12 리보솜 10 2023.11.15
547 [과학] 『우영우』의 자폐 스펙트럼 장애 개념이 왜곡인 이유 (펌) 47 힘들힘들고 10 2023.11.12
546 [과학] 흑수저 문과충 출신 구글 취직하는 파이썬 특강 -1 14 지방흡입기 11 2023.09.27
545 [과학] 국가별 당뇨 유병율 이거 뭐가 바뀐건지 아는사람? 8 LAMBDA 1 2023.09.27
544 [과학] 물샤워 ㅇㅈㄹ 하는 놈들 봐라 171 철동이 48 2023.09.23