머신러닝 기초 정리
· 약 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
가 고안되었다.