머신러닝 기초 정리
· 약 23분
뇌
뉴런
- 한 사람의 뇌에는 평균 860억 개의 뉴련이 있다.
- 뉴런 간의 연결은 약 100~1,000조 개 정도이다.
- 뉴런 하나가 약 7,000개 연결을 갖고있다.
- 가지돌기: 데이터 수신
- 새로운 패턴이 만들어지면 돌기가 새로 만들어지거나 발달하여 다른 뉴런의 축색 말단에 가까이 가게 된다.
- 축삭: 데이터 전송, 전선
- 축삭말단: 데이터 전달
- 미엘린: 전선 피복
- 축삭을 따라 흐르는 신호가 손실되지 않고 빠르게 전달되는데에 도움을 준다.
- 잘 쓰지 않는 경로의 미엘린이 부실하거나 손상되면 뉴런에서 전달하는 신호도 약해지고 느려진다.
- 시냅스: 뉴런 사이의 연결부
- 전기 신호를 화학 물질로 바꿔 전달
- 시냅스의 길이는 20~40 나노미터이며 전기 신호보다 느리긴하지만 공간이 짧아 빠른 통신 가능
- 학습과 연습이 지속되어 해당 경로가 필요해지면 발신부에서 나오는 신경 전달 물질과 이 물질을 감지하는 수용체를 늘린다.
- 뉴런이 새로운 것을 배운다는 것은 새로운 경로의 생성과 강화를 의미한다.
구조
- 전두엽: 감정, 운동, 지능
- 두정엽: 공간, 감각
- 후두엽: 시각
- 측두엽: 언어
- 뇌의 10% 만 사용한다는 설이 상식처럼 자리잡고 있지만, 사실 뇌의 100% 를 모두 사용하고 있다. (fMRI, EGG)
- 뉴런이 많다고 똑똑한 것은 아니다.
- 복잡한 일에는 많은 뉴런이 사용되어야하고, 단순한 일에는 적은 뉴런이 사용되어야 효율적인 결과가 나온다.
- 단순한 일에 많은 뉴런을 사용하면 과적합(overfitting)이고, 복잡한 일에 적은 뉴런을 사용하면 저적합(underfitting)이 된다.
세부구조
- 전두엽 Frontal lobe
- 몸의 수의운동, 자세 유지
- 일차운동영역 Primary motor area
- 전운동영역 Premotor area
- 보조운동영역 Supplementary motor area
- 운동성 언어기능: 발성, 글자쓰기
- 브로카영역 Broca area
- 고차 뇌 기능: 동기부여, 주의집중, 계획, 도덕성
- 이마연합영역 Frontal association area
- 몸의 수의운동, 자세 유지
- 두정엽 Parietal lobe
- 체성감각기능: 촉각, 무게, 물리적인 감각
- 일차체성감각영역 Primary somatosensory area
- 이차체성감각영역 Secondary somatosensory area
- 고유감각기능
- 자기 신체의 각 부분에 대한 위치 정보에 대한 감각
- 체성감각기능: 촉각, 무게, 물리적인 감각
- 측두엽 Temporal lobe
- 청각
- 청각피질 Auditory cortex
- 언어의 이해
- 베르니케 영역 Wernicke`s area
- 베르니케 영역 이상시 환자는 소리를 들을 수 있고 말도 할 수 있으나 이해하지 못하고 의미도 모름 (실독증, 실어증)
- 학습과 기억기능
- 청각
- 후두엽 Occipital lobe
- 시각중추
- 일차시각영역 Primary visual area
- 시각연합영역 Visual association area
- 시각중추
- 해마 Hippocampus
- 사실을 학습하고 기억하게 함
- 뇌의 다른 부위로 신호를 전달하는데 중요한 신경섬유 역할
- 시상하부의 기능을 조절
- 뇌활 (뇌궁) Fornix
- 해마와 시상을 연결하는 활 모양의 구조
- 시상 Thalamus
- 후각을 제외한 외부 운동과 감각신호를 대뇌 피질로 가기 전 중계하는 감각의 관문
- 수면과 각성의 조절, 의식
- 운동기능의 조절
- 시상하부 Hypothalamus
- 자율신경계 조절
- 뇌하수체의 기능을 조절
- 체온 조절, 음식물 섭취와 수분대사 조절
- 생체 리듬 조절, 수면 주기
퍼셉트론
뉴런에서 신호를 받는 과정은 4단계로 나눌 수 있다.
- 다른 뉴런들에게 신호를 받기
- 신호의 합이 충분히 큰지 확인하고 활성화하기
- 신호를 먼 곳으로 전달하기
- 신호를 다른 뉴런에 전달하기
- 1단계는 가지돌기에서 일어나며 신호 여러 개를 하나로 모아주는 시그마 연산과 같다.
- 2단계는 역치를 넘는지 확인하고 활성화를 시킨다. 활성화는
1
, 비활성화는0
이므로 이를 만들어주는 활성화 함수 (계단 함수)가 필요하다.
↘
→ ( ∑ ) → ( 활성화함수 ) →
↗
- 3단계는 미엘린의 발달 여부에 따라 신호의 강도가 달라진다. 발달 정도를 나타내는 가중치인
w'
를 곱해준다. 잘 발달된 경우1
에 가까운 값을 주면 된다.
↘
→ ( ∑ ) → ( 활성화함수 ) → ( × w' ) →
↗
- 4단계는 축색 말단에서 시냅스를 통해 다른 뉴런으로 전달한다. 시냅스의 발달, 가지돌기 가시 크기, 시냅스에서의 화학물질 양, 수용체의 민감도에 따라 신호의 효율이 달라진다. 이 값을 3단계와 동일하게 가중치인
w"
를 곱해준다.
↘
→ ( ∑ ) → ( 활성화함수 ) → ( × w' ) → ( × w") →
↗
↘
→ ( ∑ ) → ( 활성화함수 ) → ( × W ) →
↗
이 연결을 여러 개로 구성한다면
↘
→ ( ∑ ) → ( 활성화함수 ) → ( × W₁ ) ↘
→ ( ∑ ) → ( 활성화함수 ) → ( × W₂ ) → ( ∑ ) → ( 활성화함수 ) → ( × W₄ ) →
→ ( ∑ ) → ( 활성화함수 ) → ( × W₃ ) ↗
↗
이를 가운데 부분만 떼어내 퍼셉트론 모델을 만들 수 있다.
→ ( × 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
- 객관적인 지식에 대한 기억