본문 바로가기

728x90

ComputerScience/Machine Learning

(48)
Deep Learning 1-4-1 - 이제까지는 logistic regression, 1, 2 hidden layers만 살펴보았다. 이제부터는 더 deep한 hiden layers를 살펴보자 - deep neural network를 표현하는 notation을 살펴본다 - n[l] : l layer의 unit의 수 - a[l] : l layer에서 activation = g[l](z[l]) - deep neural network에서 forward propagation을 살펴보자. - 여기서 for loop는 layer수 만큼 발생한다. - 연산과정에서 matrix의 크기들이 맞는지 살펴보자. - w[l], dw[l] : (n[l], n[l-1]) - b[l], db[l] : (n[l], 1) - face regonition을 예로 들어 ..
Deep Learning 1-3-2 - 우리는 그동안 activation function으로 sigmoid 함수를 사용했었다. sgmoid 보다 더 나은 선택지들을 알아보자. - tanh function이 sigmoid보다는 더 좋은 성능을 보이지만 마지막 output layer에 대해서는 sigmoid를 사용한다. 왜냐하면 binary classification의 결과는 0 또는 1 이어야 하기 때문이다. - tan는 z가 커지거나 작아질때 기울기가 0에 가까워진다는 단점이 있다. - 그래서 다른 선택지로 ReLU가 있다. 가장 많이 쓰이는 activation function이다. - 그렇다면 왜 neural network는 non-linear activation function을 사용해야 할까? - 실제로 sigmoid(z)를 그냥 z..
Deep Learning 1-3-1 - Neural Network는 이전 시간에서 배운 neuron(logistic regression unit)들을 쌓은 것이다. - neuron에서 y^, 즉 a를 구하고 Loss를 계산했다. - 그림에서의 neural network는 layer[1]에서 결과들을 가지고 layer[2]에서 한번더 계산해서 y^을 구한다. - Loss를 가지고 backward하면서 gradient를 구한다. - x1,x2,x3들이 input features이다. 이 layer를 input layer라고 부른다. - hidden layer : 학습도중에 값들이 관찰되지 않기 때문에 hidden이라고 부른다. - 결과값을 반환하는 layer를 output layer라고 한다. - 위 그림은 2 layer Neural Netw..
AI - 2. Search 1. 탐색 - 알파고는 deeplearning 뿐만 아니라 탐색 알고리즘을 통해 가능한 수들을 탐색하며 최적의 수를 결정한다. 2. 상태공간 - 왼쪽의 초기상태에서 타일을 옮겨 우측의 목표상태를 만든다고 가정해보자. - 초기상태에서 여러 연산을 거쳐 목표상태로 도달하는 과정들을 상태공간이라고 한다. 3. 탐색트리 4. Blind Search Method - 맹목적인 탐색, 목표 노드에 대한 정보를 이용하지 않고 기계적인 순서로 노드를 확장해간다. DFS - 깊이 우선 탐색 BFS - 너비 우선 탐색 5. Heuristic Search Method - 목표 노드에 대한 경험적인 정보를 사용해서 노드를 확장 Hill-Climbing - 현재 상태에서 평가함수를 통해 cost를 계산하고 이 cost가 가장 적..
Deep Learning 1-2-2 강의를 듣고 정리한 내용입니다. vectorization으로 코드상의 for loop를 줄이고 big dataset에 대해 더 효율적인(빠른) 계산이 가능하도록 한다. vectorization으로 for loop로 적은 코드를 더 효율적으로 만들 수 있다. forward propagation 과정을 vectorization으로 표현해 보자. backward propagation 과정을 vectorization으로 표현해 보자. broadcasting으로 python code를 더 빠르게 할 수 있다. for loop 없이 matrix 연산을 더 빠르게 구할 수 있다. 3 by 4인 A를 1 by 4인 cal로 나누는 것은 broadcasting으로 구현한 코드이다. broadcast의 다른 예를 보여준다..
Deep Learning 1-2-1 강의를 듣고 정리한 내용입니다. 사진을 입력값으로 받고 고양이인지 강아지인지 판별해야 한다. 컴퓨터는 사진을 색 정보를 지닌 세 matrices로 이해한다. 이 세 matrices를 하나의 input feature vector, x로 만든다. (x,y) : (input, output) x(i), y(i) : training example m_train : train example 수 m_test : test example 수 X : x(i)들을 column으로 나열, m개의 columns로 구성 Y : y(i)들을 column으로 나열, m개의 columns로 구성 (파랑) binary classification 문제에서 사용하는 learning 방법이다. X가 주어졌을 때 w, b parameter를 ..
Deep Learning 1-1 강의를 듣고 정리한 내용입니다. house의 크기에 따른 price를 예측하는 model을 만든다고 가정해보자. 주어진 점들을 가장 잘 fitting할 수 있는 line을 찾는 것이 neural network가 하는 일이다. neural network는 입력값으로 다양한 features를 받고 찾은 line을 바탕으로 price를 도출해 낸다. 처리할 데이터를 특징에 따라 두가지로 구분할 수 있다. 목적에 따라 다양한 model을 선택하게 된다. 그럼 갑자기 deep learning이 부상한 이유는 뭘까? 1. 디지털화가 가속화 됨에 따라 data의 양이 증가 2. bigger NN을 train할 수 있게 되었다. 3. cpu, gpu의 발전으로 인한 faster computation 4. algorit..
AI - 1. Artificial Intelligence 1. 인공지능 - 터미네이터의 스카이넷을 strong AI라고 한다. 자의식이 있는 인공지능을 말한다. - 반대로 자의식이 없는, 특정 영역에서의 문제를 해결하는 인공지능을 weak AI라고 한다. (ex. 알파고) - 인간 처럼 창의적인 문제 해결에서 약점을 보이지만 빠른 속도의 논리적 추론에서 강점을 갖는다. - 즉 인간이 사물을 이해하고 학습하는 능력을 컴퓨터가 지녀 problem solving하는 것을 말한다. - Big Data를 가지고 Learning하여 Reasoning(추론)을 한다. - Act Rationally 2. Turing Test - 사람의 질문에 대한 대답을 기계가 했는지 사람이 했는지 알 수 없다면 인공지능이 구현되었다고 할 수 있다. - 앨런 튜링이 고안한, 인공지능 구현을..

728x90