1. 딥러닝 개념 정리
1) 인공지능, 머신러닝, 딥러닝
사진, 내용 출처
- 인공지능
- 기계를 지능적으로 만드는 과학
- ai 알고리즘은 기존의 알고리즘과는 달리 자체적으로 규칙 시스템을 구축함
- 머신러닝
- 인공지능의 하위개념
- 빅데이터를 통한 학습 방법 중 하나
- 알고리즘을 통해 데이터를 분석, 학습한 후 이를 기반으로 판단, 또는 예측을 함.
- 컴퓨터 자체를 학습시키는 것
- 딥러닝
- 머신러닝의 하위집단
- 학습하는 모델의 형태가 신경망인 방법론
- 뇌의 뉴런과 유사한 정보 입출력 방식을 활용해 데이터를 학습함
✔✔✔🤔 딥러닝과 머신러닝의 가장 큰 차이점
딥러닝은 학습에 사용할 데이터를 스스로 학습할 수 있는 반면 머신러닝은 학습 데이터를 수동으로 제공해줘야함.
머신러닝은 주어진 데이터로부터 패턴을 학습해서 원하는 값을 예측하는 것이 목표라면, 딥러닝은 입력된 데이터에 내재되어 있는 표현 그 자체를 나타내도록 학습하는 것이 목표. 따라서 딥러닝은 비정형 데이터로부터 표현을 추출하는 데에 특화되어 있다.
2) 딥러닝의 목표
학습된 함수를 사용해 유용한 internal representation
을 찾아내는 것
Representation Learning
데이터의 표현 방법은 위에서 아래로 갈 수록 추상적으로 변한다. 추상적이라는 것은 곧 인간의 개입이 크다는 의미이다. 따라서 아래로 갈 수록 표현을 하는 데 있어 인간의 개입은 필수적이다. 딥러닝은 이렇게 인간의 개입이 필요한 상황에서, 인간 없이 딥러닝만으로 나타낼 수 있는 모델을 학습시키는 것을 궁극적인 목표로 삼는다.
3) 행동주의와 인지주의
- 행동주의
- 생명체의 학습 = 자극과 행동의 반복, 무의식은 논의에서 배제됨
- 대표자: 스키너
- 실험: 스키너의 상자 - 동물의 행동 학습을 위해 고안된 장치, 쥐가 레버를 누르면 먹이를 주는 방식. 여기서 특정 행동을 했을 때 보상을 주는 과정을 강화라고 칭함.
- 강화이론: 강화학습의 근간
강화학습: 행위자의 행동에 따라 보상을 부여, 행위자는 그 보상을 더 받기 위해 스스로의 행동을 교정하면서 학습해나감.
- 인지주의
- 행동주의가 인간의 내면을 지나치게 단순화했다고 비판하며 등장한 학문
- 인간의 마음 = 정보처리 체계
- 대표자: 노암 촘스키 - 인간의 뇌 안에서 기억, 주의 등의 일련의 정보처리 과정을 거친 후에 행동을 만들어내는 것이다.
- 정보처리 과정을 설명하는 모형: 기호 모형, 연결주의 모형
✔✔✔🤔 인지주의의 문제의식
자극을 받고 반응을 하는 과정에서, 생명체 내부에서 어떻게 정보가 표현 혹은 처리되기에 지능이라는 현상이 나타날까?
- 정보를 처리 / 표현하는 방법을 설명하기 위한 모형 중 하나가
연결주의
4) 인지주의의 연결주의 모형
위키백과 연결 주의
- 딥러닝이 따르는 모형
- 뉴런이 연결된 뇌의 형태처럼, 신호가 연결되고 일련의 과정을 거쳐 정보가 처리된다고 보는 관점
- 연결주의의 지능체는 초반에 백지 상태. 다수의 사례를 경험해 천천히 혼자 학습해나감
- 학습 내용은 연결된 뉴런 자체에 저장되어 있음. 외부에서 자극을 받으면 그에 따라 연결의 형태가 변화하고, 학습된 내용이 바뀌어 감.
- 인간의 중추 신경계 처리를 추상화해 의사 뉴런을 구축, 그것을 계층에 모으기 위한 지능체를 소프트웨어에서 가상으로 구축하거나, 하드웨어로 실현함.
5) 신경망
1. 신경망은 함수와 같다.
함수를 이해하는 관점
1. y와 x의 관계를 나타냄 = y는 x의 변화에 종속적이며, y의 변화량은 x, y의 함수 형태에 달려있다.
2. Linear Transformation
- transformation = function: 선형대수의 관점에서 특정 벡터를 다른 벡터로 변환하는 것.
3. 매핑(mapping)
- one to one: 입,출력 모두 스칼라인 경우. 단 하나의 값만 출력
- many to one: 입력은 벡터, 출력은 스칼라. 머신러닝에서 다변량 회귀에 해당함
- many to many: 입,출력 모두 벡터, 보통 분류에 해당
2. 함수와 모델
함수는 대부분 형태가 고정됨, 머신러닝과 딥러닝에서 다루는 함수는 하나로 정해지지 않고, 어떤 형태일지도 모름. 우리가 아는 것은 데이터뿐이다. 여기서 주어진 데이터에 따라서 정확한 결과를 도출해내기엔 현실에서의 다양하고 복잡한 요인이 반영되지 않은 경우가 많음. 따라서 완벽한 함수를 찾는 것이 목적이 아니라 근사값을 내놓을 수 있는 함수를 찾는 것을 목표로 둔다고 보면 됨.
3. 함수를 찾는 과정
- 모델의 함수 형태 정하기
- inductive bias: 데이터를 설명할 수 있는 최적의 함수가 특정 함수 공간에 존재할 것이라고 전제하는 가설, 일반화를 잘 시키기 위해 필요한 과정
- 정해진 공간에서 최적의 함수를 찾기
- 머신러닝, 딥러닝에서의 모델 학습에 해당함.
- 딥러닝의 신경망 모델은 경사하강법을 이용함
The bitter lesson 번역
2. 로지스틱 회귀와 손실함수
출처
1) 로지스틱 회귀
- 분류 알고리즘에 해당함
- 간단한 흐름
- 퍼셉트론
- 아달린
- 적응형 선형 뉴런: 퍼셉트론과 역방향 계산을 하는 순서가 다름
- 로지스틱 회귀
- 활성화 함수를 한 번 거친 후 역방향 계산을 함
- z가 아닌 a로 역방향 계산
- 시그모이드 함수 사용: z 값을 0~1 사이로 변경 확률이 50%가 안되면 음성, 되면 양성으로 판단하기 편하게 함.
2) 시그모이드 함수
오즈비 → 로짓 함수 → 시그모이드
- 오즈비: 0에서부터 무한대로 값이 바뀜
- 로지스틱 함수: 로짓 함수를 확률 p에 대해 정리한 것.
3) 경사하강법
- 분류 문제에서 목표는 정확도. 하지만 분류의 정확도(정확히 분류된 횟수)는 미분 가능한 함수가 아님.
- 위와 같은 이유에서 로지스틱 손실함수(이진 크로스 엔트로피)를 사용
- a 는 시그모이드 함수의 출력값이기 때문에 0~1 사이의 값
- y가 1인 경우 a는 1에 가까워야, y가 0인 경우 a는 0에 가까워야 결과 값이 가장 작은 값이 됨.
✔✔✔🤔 합성함수의 미분
y를 x에 대해서 미분할 때 바로 미분할 순 있지만, f와 g를 각각 나누어 미분한 후 곱하면 전체 y를 x에 대해 바로 미분한 것과 동일함.
- 로지스틱 손실 함수
오차가 역전파된다.
회귀에서 제곱 오차 함수를 미분했던 것과 비슷한 값을 구할 수 있음. 손쉽게 경사하강법 알고리즘 구현 가능
3. 회고
수학이 안되니까 쉽지 않다. 로그 함수를 몰라서.. 이해하는 데에 애를 먹었는데 로그 개념부터 찬찬히 생각해보니까 이해됐다. 수학이 필요하다고 계속 느껴져서 고등학교 수학 모음집이라도 풀어야될까 싶다. 내용이 점점 어려워지는데 앞으로도 포기하지 않고 할 수 있으면 좋겠다.