본문 바로가기

728x90

ComputerScience/Machine Learning

(48)
AI - 6. Uncertainty 1. 불확실성 - 현실세계에서 판단을 내릴때 100퍼센트 확실한 전제에 근거하기 매우 어렵다. - 따라서 인공지능에서는 믿음의 정도를 다루기 위해 probability theory에 기대서 표현한다. 2. 조건부 확률 - 사후확률을을 사전확률만 가지고 구할 수 있다. - 단 A와 B가 서로 독립인 사건에 대해서 조건부확률을 베이즈 규칙에 따라 다음과 같이 표현할 수 있다. 3. 베이즈 정리를 추론에 적용 - 전문가 시스템에서 결론을 내릴때 확률을 함께 기입하는 것이다. - 사전에 근거에 따른 가설의 확률을 설정해야 한다. - 만약 근거와 가설이 여러개라면 다음과 같이 표현한다. 4. 확신도 - 매번 확률을 계산하기 너무 힘드니까. 확신도로 전문가들의 신뢰도를 나타낸다.
DeepLearning 2-2-1 1. Mini-batch - vectorization으로 for loop 없이 더 빠르고 효율적인 계산이 가능했다 - 그럼에도 불구하고 만약 데이터가 매우 커진다면 한번 gradient descent하는데 whole training set에 대해 학습을 해야 하기 때문에 시간이 많이 걸릴 것이다. - 따라서 매우 큰 training set을 전부다 학습하기 전에 그 과정에서 의미있는 gradient descent를 수행하기 위한 방법으로 minibatch가 있다. - giant training set을 baby training set들로 나눠서 차례로 학습하고 gradient descent를 수행해 나가는 것이다. - 전체 training set을 mini batch로 나누어서 tain을 진행하다가 전체..
DeepLearning 2-1-2 training 속도를 빠르게 할 수 있는 테크닉들을 알아보자. x input 벡터들의 평균이 0이 되도록 원점으로 training set을 이동시킨다. feature x1 이 feature x2보다 더 넓은 편차를 갖기 때문에 이를 조정해준다 (normalization) (training, test set모두 동일한 뮤와 시그마로 normalization을 거쳐야 한다.) normalization을 거치지 않은 데이터와 거친 데이터에 대해 gradient descent과정을 살펴보면 다음과 같다. 더 빠르게 최적화가 진행될 수 있다. unit이 두개인 layer가 9개 있는 model을 생각해보자. 만약 w[l]의 모습이 [[1.5, 0], [0 ,1.5]]라면 y는 엄청나게 explode하게 된다. ..
DeepLearning 2-1-1 처음부터 목적에 알맞은 layer 수, hidden units의 수 learning rate등의 hyperparameter 값들을 설정할 수는 없다. 여러번의 실험과 검증을 반복하면서 최고의 성능을 낼 수 있는 조건들을 찾아 설계가 진행된다. 데이터를 train/dev/test set으로 분리해서 각 목적에 맞게 사용한다. 데이터를 나누는 비율을 data가 충분히 크다면 98/1/1 의 비율도 적절하다. train set으로 학습을 하고나면 test set으로 bias가 없는지 variance는 어떤지 검증을 하게 된다. 순서대로 underfitting, 적당한 fitting, overfitting이 된다. train set error 가 1% dev set error가 11% 라면 overfitting..
AI - 5. Fuzzy Logic 1. 퍼지 논리? - 명제는 이진 논리(참, 거짓 두가지) 로 판별이 가능하다. - 하지만 만약에 참,거짓 만으로 판별이 어려운 지식은 어떻게 표현해야 할까? 예를들어 사과의 색은? 이라는 질문에 빨강, 초록, 노랑 새빨강, 연한 빨강 등이 답이 될 수 있는 것처럼 말이다. - 이처럼 명확하게 정의될 수 없는 지식을 표현하는 방법을 퍼지논리라고 한다. - 키가 크다, 작다를 두가지로 결정할 수 없기 때문에 0.0과 1.0 사이로 가중치를 나누어서 판단에 도움을 준다. 2. 퍼지 집합 - 기존의 논리로 표현할 수 있는 집합이다. 180이 넘어야만 키가 큰것이라 판단할 수 있다. - 이런 집합을 크리스프 집합이라고 한다. (집합에 A가 있냐 없냐) - 하지만 퍼지 집합은 판단을 가중치로 한다. 3. 논리 연..
AI - 4. 전문가 시스템 1. 전문가 시스템 - 이전 시간에 배웠던 탐색에 기반한 시스템(General Problem Solver)에서는 한계가 있었다. 메우 제한된 현실에서만 작동이 가능했기 때문이다. 인간의 지능은 탐색으로만 구현되지 않는다. - 그래서 전문가 시스템이 등장했다. 규칙으로 표현되는 지식 베이스를 가지고 시스템이 복잡한 문제를 추론하는 것이다. 2. 지식 베이스 - 여러 데이터를 가공해서 정보를 만들고 이 정보들을 일반화해서 지식(규칙)을 만들어낸다. 3. 추론 엔진 - 추론 엔진은 사실과 규칙을 가지고 새로운 사실들을 발견하기도 하고 최종적으로는 결론을 도출하게 된다. - 단기 기억장치에 있는 사실을 가지고 기존에 알던 규칙을 통해 결론을 이끌어내면 순방향 추론이다. 위의 예시에서는 네가지 사실을 가지고 사자..
AI - 3. 탐색 응용 1. Game Tree - 지난시간에 배웠던 탐색 알고리즘을 응용하여 실제 게임에 접목해보자. - tic tac toe 게임에서 가능한 모든 경우들을 tree로 나타내면 위와 같다. 2. MiniMax 알고리즘 - 만약 tic-tac-toe 게임상황에서 이기는 전략을 짜고 싶다면 어떻게 해야할까? - MiniMax알고리즘은 상대 플레이어가 항상 최선의 수를 둔다는 가정하에 이기는 전략을 찾는 알고리즘이다. - 먼저 다른 예시를 통해 MiniMax알고리즘의 동작을 살펴보자. - 맨 밑의 leaf node에서 상위 노드로 값을 전달하는데 Min노드 이면 작은 값을 Max노드이면 큰값을 받는다. - MiniMax알고리즘에 따라 각 노드의 state를 0, -1, 1로 표시한다고 하면 다음과 같다. - 이제 게..
Deep Learning 1-4-2 - 하나의 layer만 떼서 forward, backward propagation을 구현을 해보자. - 우측으로 layer들을 거치면서 y^을 구한다. - 이제 cost를 가지고 왼쪽으로 layer들을 거치면서 각 weight, bias를 갱신한다. - 각 layer들의 계산 결과인 z, w, b를 cache에 저장해두면 나중에 backward propagation할때 유리하다. - deep neural network에서 backward propagation을 살펴보자. - 모든 과정을 정리하면 위와 같다. - w,b말고도 다른 parameter들이 필요하다. 이를 hyper parameter라고 한다. - learning rate alpha. activation function, #hidden laye..

728x90