머신러닝 기초 정리

뉴런

  • 한 사람의 뇌에는 평균 860억 개의 뉴련이 있다.
  • 뉴런 간의 연결은 약 100~1,000조 개 정도이다.
  • 뉴런 하나가 약 7,000개 연결을 갖고있다.
  • 가지돌기: 데이터 수신
    • 새로운 패턴이 만들어지면 돌기가 새로 만들어지거나 발달하여 다른 뉴런의 축색 말단에 가까이 가게 된다.
  • 축삭: 데이터 전송, 전선
  • 축삭말단: 데이터 전달
  • 미엘린: 전선 피복
    • 축삭을 따라 흐르는 신호가 손실되지 않고 빠르게 전달되는데에 도움을 준다.
    • 잘 쓰지 않는 경로의 미엘린이 부실하거나 손상되면 뉴런에서 전달하는 신호도 약해지고 느려진다.
  • 시냅스: 뉴런 사이의 연결부
    • 전기 신호를 화학 물질로 바꿔 전달
    • 시냅스의 길이는 20~40 나노미터이며 전기 신호보다 느리긴하지만 공간이 짧아 빠른 통신 가능
    • 학습과 연습이 지속되어 해당 경로가 필요해지면 발신부에서 나오는 신경 전달 물질과 이 물질을 감지하는 수용체를 늘린다.
  • 뉴런이 새로운 것을 배운다는 것은 새로운 경로의 생성과 강화를 의미한다.

구조

뇌의 3층 구조

  • 전두엽: 감정, 운동, 지능
  • 두정엽: 공간, 감각
  • 후두엽: 시각
  • 측두엽: 언어
  • 뇌의 10% 만 사용한다는 설이 상식처럼 자리잡고 있지만, 사실 뇌의 100% 를 모두 사용하고 있다. (fMRI, EGG)
  • 뉴런이 많다고 똑똑한 것은 아니다.
  • 복잡한 일에는 많은 뉴런이 사용되어야하고, 단순한 일에는 적은 뉴런이 사용되어야 효율적인 결과가 나온다.
  • 단순한 일에 많은 뉴런을 사용하면 과적합(overfitting)이고, 복잡한 일에 적은 뉴런을 사용하면 저적합(underfitting)이 된다.

퍼셉트론

뉴런에서 신호를 받는 과정은 4단계로 나눌 수 있다.

  1. 다른 뉴런들에게 신호를 받기
  2. 신호의 합이 충분히 큰지 확인하고 활성화하기
  3. 신호를 먼 곳으로 전달하기
  4. 신호를 다른 뉴런에 전달하기
  • 1단계는 가지돌기에서 일어나며 신호 여러 개를 하나로 모아주는 시그마 연산과 같다.
  • 2단계는 역치를 넘는지 확인하고 활성화를 시킨다. 활성화는 1, 비활성화는 0이므로 이를 만들어주는 활성화 함수 (계단 함수)가 필요하다.
1
2
3

→ ( ∑ ) → ( 활성화함수 ) →

  • 3단계는 미엘린의 발달 여부에 따라 신호의 강도가 달라진다. 발달 정도를 나타내는 가중치인 w'를 곱해준다. 잘 발달된 경우 1에 가까운 값을 주면 된다.
1
2
3

→ ( ∑ ) → ( 활성화함수 ) → ( × w' ) →

  • 4단계는 축색 말단에서 시냅스를 통해 다른 뉴런으로 전달한다. 시냅스의 발달, 가지돌기 가시 크기, 시냅스에서의 화학물질 양, 수용체의 민감도에 따라 신호의 효율이 달라진다. 이 값을 3단계와 동일하게 가중치인 w"를 곱해준다.
1
2
3
4
5
6
7

→ ( ∑ ) → ( 활성화함수 ) → ( × w' ) → ( × w") →



→ ( ∑ ) → ( 활성화함수 ) → ( × W ) →

이 연결을 여러 개로 구성한다면

1
2
3
4
5

→ ( ∑ ) → ( 활성화함수 ) → ( × W₁ ) ↘
→ ( ∑ ) → ( 활성화함수 ) → ( × W₂ ) → ( ∑ ) → ( 활성화함수 ) → ( × W₄ ) →
→ ( ∑ ) → ( 활성화함수 ) → ( × W₃ ) ↗

이를 가운데 부분만 떼어내 퍼셉트론 모델을 만들 수 있다.

1
2
3
→ ( × W₁ ) ↘
→ ( × W₂ ) → ( ∑ ) → ( 활성화함수 ) →
→ ( × W₃ ) ↗

이 인공뉴런을 기본 단위로 지능을 갖게 되는데 여기서 학습을 통해 정해지는 값은 W 이다.
각각의 W 값이 0이되면 연결 소멸, 0보다 크면 연결 생성, 값이 커지면 연결 강화, 기존보다 작아지면 연결 약화가 된다. 학습을 통해 이 값이 최적화 되면 이후 학습한 일을 언제든지 수행 가능하다.

강화학습

  • agent: 학습하고 행동을 취하는 주체
  • environment: 환경
  • reward: 보상
  • state: 상태
  • policy: 방침, 상황을 파악해 행동하는 것
  • 강화학습이 가장 많이 쓰이는 분야는 자율주행이다.
  • 차는 에이전트이며 차도라는 환경에 나와 차선, 사고 등의 마이너스 보상 (패널티)를 받으면 방침을 수정해 도로에서 해야할 것과 하지 말아야할 것을 경험하며 방침을 수정해 결과적으로 도로를 안전하게 주행이 가능하다.
  • 보상과 패널티를 잘 조정해야 원하는 결과가 나온다.
  • 시행착오를 하면서 방침을 찾아갈 수도 있지만, Q 함수에 현재 상태와 하고싶은 일인 action을 정해 물어보고 현재 상태에서 그 일이 얼마나 유익한지를 받아 학습할 수 있다.
  • 物理エンジンくん 채널에 이런 영상들이 많다.

평생학습

  • life-long learning 또는 continual learning 으로 불린다.
  • 현재의 뉴럿넷은 새로운 업무를 하면 이전 학습은 완전히 잊어버린다.
  • 뇌는 연결이 만들어질 때 수신 뉴런에서 가지돌기 가시가 나온 후 발신 뉴런의 축산 말단에 닿아 새로운 연결을 만들어 기존 돌기의 변동성을 떨어뜨려 변하지 않게 함으로써 기존 경로를 보호한다.

EWC

  • Elastic Weight Conditioning
  • 이전 학습에서 중요한 연결은 고정해 놓고 다른 연결만을 이용해 학습하는 것
  • 고정된 숫자의 뉴런으로 무한한 일을 해내는 것은 불가능하므로 사람처럼 새로운 일을 배울 때마다 새로운 인공 뉴런을 추가해 효과적으로 처리하는 방법인 Progressive Neural Network가 고안되었다.

인지

의미

  • 기계가 사물을 인식하는 방법은 숫자로 나타내는 것이다.
  • 사물을 숫자로 나타내는 것을 벡터화 또는 인코딩, 변한된 결과를 벡터 또는 임베딩이라 한다.
  • One-hot representation: 1, 0으로 사물을 나타낸다.
    • [1, 0, 0], [0, 1, 0] 처럼 항목별로 나누기에 비효율적
  • Distributed representation: 여러 개의 요소들의 숫자를 통해 사물을 나타낸다.
    • [1, 1, 0], [0.5, 0.5, 0] 처럼 여러 요소를 저장
  • 단어를 숫자로 잘 표현된다면 사물들의 벡터에서 단어 사이의 거리는 동일해야한다.
    • MAN - WOMAN === UNCLE - AUNT
    • KING - KINGS === QUEEN - QUEENS
  • 이를 단어에서 해결하기 위해 아래 방법들이 나왔고, 이는 문장에서 자주 같이 나오는 단어들끼리 비슷하게 표현하는 방법이다.
    • Skip-gram
    • Cbow
    • Glove
  • 유사한 단어는 가깝게 모이고 다른 단어들은 멀리 떨어지며 단어 벡터에 의미가 담기게 된다.

시각

  • 망막에서 이미지가 들어오면 막대세포에서 빛, 원뿔세포에서 색 정보를 따로 받아 시신경을 통해 뇌로 전달한다.
  • LGN -> V1 -> V2 -> V3 -> LOC 순으로 통과하면서 물리적, 인지적 한계를 넘는 처리를 한다.
    • 각막의 혈관 제거
    • 수정체에서 180° 뒤집혀서 들어오는 상을 다시 처리
    • 황반의 몰려있는 원뿔세포로 인해 생기는 맹점 처리
    • 원근 처리
  • LGN 에서는 공간 및 대조, V1, V2 에서는 물체 윤곽, 색, 움직임, 마지막엔 물체 간의 그룹화, 연관, 시각에 대한 의미적 내용을 통합한다.
  • 시각은 한 번에 완성되는 것이 아니라 빛, 색, 윤곽, 깊이감 등이 점차 통합 되어 완성된다.

CNN

  • Convolutional Neural Network
  • 98년에 발표된 Lenet-5 가 그 기원이다.
    • 두 개의 convolution layer: 이미지의 다양한 특징 추출
    • 두 개의 multi-layer perception, fully connected layer: 시각 정보 통합을 통해 정보 추상화와 의미적 정보 도출
    • 하나의 결과 출력 레이어: 추상화되고 의미적인 정보를 이용해 사물 결정
  • 머핀과 치와와를 구별하기 힘들어하지만 근래에는 1,000개가 넘는 레이어를 구성해 극복하려하고 있다.

청각

  • 소리는 매질의 진동이며 소리에서 가장 필요한 정보는 무엇어디이다.
  • 진동이 고막에서 물리적인 진동으로 변하고, 귓속뼈를 통해 증폭돼 달팽이관으로 전달된다.
  • 전달된 진동은 달팽이관 내부 유모세포를 흔들어 전기신호를 발생시키고 이 신호가 청각 신경을 통해 뇌로 전달돼 소리를 듣는다.
  • 달팽이관의 초입은 고주파를 받고 중심부에서는 저주파를 받는다. 주파수별로 처리함으로 모든 청신경이 켜지지 않고 효율적인 정보처리가 가능하다.
  • 대역별로 받은 신호는 청각 신경을 통해 뇌의 1차 청각 피질에서 대역별로 처리한다.
  • 청각피질도 주파수별로 구획화되어있다.
  • '무엇’에 대한 정보는 측두엽에 위치한 베르니케 영역과 브로카 영역을 순차적으로 통과하면서 음소 모델과 언어 모델을 이용해 이해한다.
  • '어디’에 대한 정보는 두정엽에서 귀에 도착한 타이밍의 차이, 주파수에 따른 소리 크기 차이, 도플러 효과 등과 같은 방법을 통해 방향과 거리를 알아낸다.
  • 이 두 정보는 시각적 인지에 의존하므로 시각과 청각을 통합해 사용하는 멀티모달 연구가 진행 중이다.
  • 고주파보다 저주파 대역의 변화에 민감해 저주파 대역에서 많은 정보를 뽑고 고주파 대역에서 적게 뽑으면 인지적으로 적합한 정보를 추출할 수 있는데, 이는 멜 주파수 필터로 가능하다.
  • 무엇: Speech Recognition, Sound Classification
  • 어디: Sound Localization

기억

기억은 뉴런들의 연결 강화 또는 약화이다.

내포적 기억

  • Implicit Memory
  • 어떻게, 몸으로 익힌 기억
  • 기저핵과 소뇌에서 주로 담당
  • 절차 기억
    • Procedural Memory
    • 몸이 하는 기억
  • 예비화 기억
    • Priming Memory
    • 과거의 경험에 의해 특정 자극이 들어왔을 때 기억의 민감도가 증가하는 기억

명시적 기억

  • Explicit Memory
  • 구체적으로 설명 가능한 기억
  • 고등적인 일 처리인 대화, 언어, 시각적 정보, 청각적 정보 등을 처리하는데에 필수
  • 대뇌피질에 저장되며 특히 전두엽이 많이 사용된다.
  • 일화 기억
    • Episodic Memory
    • 인상적인 날을 기억한다.
  • 의미 기억
    • Semantic Memory
    • 객관적인 지식에 대한 기억

단기 기억

  • RAM
  • 작업 기억, Working Memory
  • 단순한 전기 신호로 저장

RNN

  • Recurrent Neural Network
  • 단기기억을 모방
  • 뉴럴넷이 연속으로 연결돼 있고 매 뉴럴넷마다 입력을 받는 구조
  • 1, 2, ⋯, t-1, t, t+1 의 순차 구조에서 t-1 에서 처리된 결과와 t 에서의 입력이 함께 새로운 결과를 만들어 주는 모델
  • 하나의 셀을 지날 때마다 모든 정보를 누적하므로 최근 이전 다섯 셀 이내의 정보만을 잘 기억해낸다.

LSTM

  • Long Short Term Memory
  • RNN 의 짧고 비효율적인 단기 기억을 해결하기 위해 제안
  • 정보의 컨베이어 벨트가 있고 매번 필요한 정보를 넣고 필요 없는 정보를 빼서 효율적으로 정보를 관리한다.

장기 기억

  • HDD
  • 물리적인 연결을 통해 저장
  • 정보에 따른 고유 경로가 활성화되면서 머리 속에서 떠오른다.
  • 전전두엽의 단기기억이 주로 수면 중에 해마와 편도체에서 내부 반복해 대뇌피질에 기억 관련 연결을 굳혀놓는다.

DNC

  • Differentiable Neural Computer
  • deepmind/dnc
  • 정보를 외장 메모리에 차곡차곡 저장하고 필요할 때 불러 쓰는 방식
  • Q&A에 주로 사용한다.
  • Neural Turing Machine, Memory Network 등도 비슷한 방식이다.

효율적 기억

  • 사람은 매초 4,000억 bits 즉 50GB의 정보를 쏟아받지만 필요한 정보만 선택해 실제로 2,000 bits만 사용한다.
  • 이는 부주의맹(Inattention Blindness)라 하며 우리가 정보를 2억분의 1로 필터링하는 비결이다.
  • 기계도 필요한 정보에 집중하는 Attention을 사용한다. 이 개념은 이미지 캡셔닝, 번역기에 활용된다.
    • 원문에서 문맥적 의미가 비슷한 부분에 집중해 이 정보를 중점적으로 확인한다.

Next

  • 직관과 추론: 감정
  • 심리, 도덕: 트롤리 문제
  • 원샷 학습: 한 번의 예시만으로 학습
  • 메타 학습
    • 학습법의 학습
    • MANN, Matching Network, MAML
  • 전이 학습: 비슷한 것을 배운 지식을 새로운 것을 배울 때 활용해 빠르게 학습

용어

  • 뉴럴넷: Neural Network
  • 베이지안 네트워크: Bayesian Network
  • SVM: Support Vector Machine
  • 오버피팅: overfitting, 과적합
  • MFCCs: Mel Frequency Cepstral Coefficients
  • 스펙트로그램: 주파수를 대역별로 시각화한 것
  • Memory consolidation: 기억의 응고, 장기기억화