기계학습은 지도학습/비지도학습/강화학습으로 나뉜다. 강화학습이란?에이전트가 환경과 상호작용하며 보상을 최대화하는 행동전략을 학습하는 방법론.기계학습+최적화 -> 에이전트가 목표 달성 위해 스스로 학습정답으로부터 학습하는 게 아니라, 보상을 통해 학습함.즉각적인 응답이 오지 않는 경우도 많다. 피드백이 때때로 지연돼서 부여.시간 혹은 순서가 중요.에이전트의 행동이 이후 환경으로부터 받게 될 데이터에 영향 미칠 수 있음. - 헬리콥터의 스턴트 비행 - 체스, 바둑 등 보드게임 - 투자 포트폴리오 관리 - 휴머노이드 로봇의 보행 RL(강화학습)의 요소1. 보상숫자로 주어지는 피드백 신호. t시점의 보상은 Rt"에이전트가 t 시점에 얼마나 잘하고 있는지"그냥 t시점 바로 다음의 보상을 의미함.--> 누적 보상..
AI/인공지능
최적화란?주어진 문제에 가능한 방법/해답 중 가장 좋은 방법 찾는 과정.어떻게 가장 좋은지 아냐?- 얼마나 좋은지 수치적으로 측정할 수 있어야 하고, 내가 사용할 수 있는 방법/해답을 변수화해야 한다.[주요 요소]- 목적함수, 제약조건, 변수 - 문제 예시knapsack problem주어진 물건의 무게/가치, 배낭의 수용 가능 무게가 주어졌을 때, 가방에 물건을 어떻게 담는 것이 좋을지 찾아보는 문제 traveling salesman problem이동 경로의 최소화. 한 번 방문하면 그이상 방문 불가. 등등..의 제약조건 전역(Optimal) 최적해 vs 지역(Local) 최적해전역 : 문제의 모든 상황을 고려했을 때 가장! 최고의 해지역 : 특정 구간에서만 최고의 해 탐색 공간 해를 찾기 위해 알고..
Sequence-to-sequence 모델을 간단히 말하자면,기계 번역을 위한 sequence-to-sequence 모델입력 -> 인코더 -> 문맥 벡터(context vector) -> 디코더 -> 출력 Auto Encoder (AE) 란?Input~Code전까지 : Encoder - 입력의 중요한 특성을 추출/차원축소 Code - 잠재 벡터(Latent Vector), 병목현상Code후~Output까지 : Decoder - 데이터 확장 / 재구 - 신경망의 일종. 차원 축소나 특성 학습에 활용 - 입력 데이터를 받아 압축된 표현 생성 - 다시 원본 데이터로 재구성하되, 이 과정에서 데이터의 특성이 유지되는 것을 목표로 함. - 비지도 학습 ( label 없는 data, 입력 그대로 복원 want )..
N-gram 모델연속적인 n개의 단어/문자/토큰을 활용하는 법.ex) 나는 오늘 학교에 걸어 갔다.if Bi-gram : P("오늘"|"나는"), P("학교에"|"오늘") 이런 확률들을 고려함. 활용음성인식기계번역 - 어느 정도 말이 되는 문장자연어 생성 - 사람이 한 거 같은 말 한계N이 커질 수록 고려할 조합의 수가 많아짐모든 조합을 corpus 내에서 관찰하기는 힘듦데이터가 부족함계산이 복잡복잡context 벡터의 길이가 고정됐기에 긴 의존성이 갖는 언어적인 특성은 잡아내기 어렵다. 해결법인공신경망을 활용한 RNN, Transformer를 통해 비지도학습을 해서 언어의 P(x)를 학습해서 글을 생성하면 됨. 고려할 것1. corpus를 어떻게 token으로 나눌지 - Character-level t..
생성형 모델 첫 번째, GAN 이런 생성기법은 없는 걸 만들어내는 것이기에 정답이 없는 비지도 학습임. 가짜 data 를 만드는데, 이게 진짜와 엄청 유사하도록 만드는 것이 목표!Generator와 Discriminator의 견제로 이루어진 모델.Generator는 가짜 정보를 생성하고,Discriminator는 이 정보를 판독하는 것! 가짜다 vs 진짜다 이렇게. 구조가 어떻게 되냐면, 1. real data로 Discriminator가 분리하는 과정 만약 real data가 입력(x)이라면,D(x) 가 Discriminator가 입력을 받아 내놓은 출력값.근데 이 출력값은 0~1 사이인데,1에 가까우면 x가 real data라고 판별됐다는 뜻,0에 가까우면 x가 fake data라고 판별됐다는 뜻.즉..