Prev Contents/Deep learning

[그림으로 배우는 딥러닝] 6장. 정보 이론 (203~230p)

Convergence Medicine 2022. 8. 3. 15:31

그림으로 배우는 딥러닝 (http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9791161756448&orderClick=LAG&Kc=)

 

그림으로 배우는 딥러닝 - 교보문고

◈ 이 책에서 다루는 내용 ◈ ◆ 텍스트 생성기로 이야기와 기사를 만드는 방법 ◆ 인간 게임에서 딥러닝 시스템이 승리하도록 학습하는 방법 ◆ 이미지 분류 시스템으로 사진 속 사물이나 사람

www.kyobobook.co.kr

 

6장. 정보 이론

정보 이론의 용어와 아이디어는 딥러닝의 기반을 형성한다.

놀라움과 맥락

발신자는 어떻게 든 일종의 통신을 수신자에게 전달했다.

놀라움 이해

놀라움이 클 수록 전달되는 정보의 양이 많다. 라는 것을 전제로 하고 시작하자.
완전히 주관적인 척도로 가상의 놀라움 척도를 만들어 0 - 완전히 예상된 것, 100 - 완전한 놀라움을 의미한다고 하자.
맥락 (context) - 시작 부분에서 큰 놀라움을 주지만 뒷부분에서 전혀 그렇지 않을 수 있다. 그의 차이

맥락 풀기

메시지의 의미에 초점을 맞추고 있기 때문에 맥락은 메시지에 의미를 부여하는 발신자와 수신자 사이의 공유 지식을 나타낸다.
공유된 지식의 확장 - 베이즈 규칙의 관점에서 전체적인 맥락의 일부는 사전 확률에 담겨지게 된다.
이에 대조적으로 지역적인 맥락 - 해당 메시지의 다른 단어들로 그 단어 앞에 오는 단어들로만 구성되고 이를 사용해 놀라움을 다룰 수 있다.
사전에 있는 모든 단어에 놀라움 값을 할당하고 그 합이 1이 되도록 조정하면 확률 질량함수를 그릴 수 있고 여기서 무작위 변수를 뽑아 낼 수 있다.
이에 대한 일반적인 접근 방식은 단어가 얼마나 흔한지를 나타내도록 pmf를 설정하는 것으로 치환할 수 있다.

정보 측정

두 가지 입력값: 전체 메시지의 텍스트, 각 단어에 내재된 놀라움을 설명하는 pmf
출력값: 메시지가 전달하는 정보 비트수

  1. 가능성이 있는 이벤트는 낮은 정보를 가진다.
  2. 가능성이 없는 이벤트는 높은 정보를 가진다.
  3. 가능성이 있는 이벤트는 가능성이 없는 이벤트보다 정보가 적다.
  4. 두 개의 관련 없는 (독립적인) 이벤트로 인한 전체 정보는 별도로 찾은 개별 정보 값의 합계다.

정보의 공식적 정의에 도달했다. 이는 하나 이상의 이벤트와 각 이벤트가 얼마나 놀라운지를 설명하는 확률 분포로 시작하는 공식이나 알고리듬이다.
이 각 단어의 수치를 단어의 엔트로피라고 부르며 이를 전달하는 데 필요한 비트수를 알려준다.

적응형 코드

모스 말하기

원래 모스 부호 보내기 설명

모스 부호 커스터마이징

이를 1비트 단위의 높낮이로 바꾸기 - 고정 길이 코드로 만들어 볼 수 있다.
하지만, 종래의 모스 부호 (점과 대시를 1돈으로 통일시킨다면)가 더 자주 발생하는 문자에 더 작은 코드를 부여했기에 통신에 더 효율적이라고 할 수 있다.
이를 적응형 코드 (adaptive code)라 한다.

확률의 언어로 재정의하면, 가장 높은 확률을 가진 값은 가능한 한 가장 짧은 코드를 받는다.
이를 확률 분포와 비교할 수 있다. 이는 해당 문자가 얼마나 많은 정보를 비트 단위로 전달하는 지 알려 준다.

엔트로피

불확실성으로 일어날 수 있는 모든 일을 알고 있지만 실제로 어떤 일이 일어날 지 확신할 수 없는 경우, 이 불확실성에 대한 공식적인 용어
무질서, 불확실성, 엔트로피는 모두 동일한 아이디어를 언급하는 서로 다른 방식이다.

교차 엔트로피

교차 엔트로피는 덜 완벽한 다른 코드를 사용할 때 필요한 비트수를 알려준다. 일반적으로 이는 완벽한 코드가 필요로 하는 비트수보다 크다.
그러므로 교차 엔트로피는 두 개의 확률 분포를 수치적으로 비교할 수 있는 측정값이다.

두 개의 적응형 코드

코드 사용

압축 비율은 고정 길이 코드에 비해 적응형 코드를 사용해 얼마나 많은 비용을 절감할 수 있는지 알려준다.
각 코드가 해당 텍스트의 확률 분포를 기반으로 하고 이러한 분포가 각각 다르기 때문이다.
두 확률 분포의 차이를 측정하는 데 사용하는 양 (quantity)은 교차 엔트로피다.

실전에서의 교차 엔트로피

언제 시스템이 잘못되었는지를 알고 얼마나 잘못되었는지 수치를 입력해야 한다. 그것이 레이블과 예측을 비교해 얻은 교차 엔트로피이다.

쿨백-라이블러 발산

교차 엔트로피에서 엔트로피를 빼면 불완전한 코드에 필요한 추가 비트 수를 얻는다. 이 숫자가 더 작을수록 필요한 추가 비트수가 줄어들고 해당 두 확률 분포가 더 비슷해진다.
불완전한 코드에 필요한 이 추가 비트수를 이름이 많은데, 쿨백-라이블러 발산 또는 KL 발산이라 한다.
즉, KL 발산은 불완전하게 적용된 코드를 완벽한 코드로 바꾸는 데 얼마나 더 많은 정보가 필요한지 설명한다.

베이즈 규칙 측면으로 보면 사전 확률 (불완전한) 코드에서 완전한 사후 확률 (적용된) 코드로 이동한다.

6장의 요약

입력값에 대한 응답으로 생성하는 예측 확률 목록을 수동으로 할당한 확률 목록과 비교해 분류기의 교차 엔트로피를 계산할 수 있다.
훈련의 목표는 두 분포를 가능한 한 유사하게 만드는 것이며, 교차 엔트로피를 최소화하려고 노력한다고 말할 수도 있다.