본문 바로가기

728x90

ComputerScience/Machine Learning

(48)
Deep Learning - 1.1 Data manipulation Before diving into the deep learning, we have to learn basic skills which are sorting, manipulating and processing data. Create Tensor Operations Broadcasting Indexing, Slicing Saving Memory Conversion to other python objects 1. Tensor We have to handle multi dimention array which is called "Tensor". All of data will be represented as tensor. It has two different features from numpy's ndarray. -..
AI - 13. Convolutional Neural Network 1. 영상인식? - 영상 안의 물체를 인식하거나 분류하는 것. 2. 전통적인 영상 인식 시스템 구조 - 전처리 : 색상 변환, 영상 크기 변환, 대조비 변환 등의 작업 - 특징추출 : edge, curve, vertex등의 특징들을 추출하는 것 - 분류 : 추출된 특징들의 조합이나 가중치가 높은 특징이 많다 등의 근거로 분류 - 전통적인 영상 인식에서는 특징을 사용해서 분류를 한다. - 즉 개와 고양이를 구분지을 수 있는 적절한 특징을 가지고 분류 기준을 세우는 것이다. 3. CNN - 사진이 입력으로 들어가면 은닉층에서 알아서 특징들을 추출한다. - 사진으로부터 컨볼루션 연산이 이루어지면 특징들을 추출한다. 계속 이 과정을 반복한다. fully connected layer가 되어 최종 분류할 class..
AI - 12. Deep Learning에서 발생하는 여러 문제들 1. Deep Learning - DNN, 다층 퍼셉트론에서 은닉층의 수를 증가시킨 것. - 컴퓨터 시각, 음성 인식, 자연어 처리에 많이 응용되고 있다. - 딥러닝을 활용할 수 있었던 가장 큰 이유중 하나는 gpu(graphic processor unit)기술이다. - DNN의 학습시간은 상당히 느리고 학습과정이 계산 집약적이다. gpu의 등장으로 훨씬 빠른 시간에 학습을 마칠 수 있게 되었다. - 입력층으로 input이 들어오면 각 층에서 feature를 추출한다. - 고전적인 얼굴 인식 방법은 사진에서 edge, corner등을 탐색하는 알고리즘을 짰지만 Deep learning network는 알아서 각 은닉층들이 필요한 feature들을 추출한다. - muli layer perceptron은 사..
AI - 11. Multilayer Perceptron 1. Multilayer Perceptron - 입력, 출력층 사이에 은닉된 여러 레이어가 존재하는 신경망이다. - MLP의 학습은 순방향 전파와 역방향 전파로 이루어진다. - 입력층으로 들어온 input을 순방향으로 전파하면서 결과를 내보내고 그 결과로부터 오차를 구해서 입력층까지 역전파하며 (오차를 줄이는 방향으로)가중치들을 갱신한다. 2. 순방향 전파 forward propagation - 입력값과 가중치의 곱들을 더하고 활성화 함수를 거친 값을 내보낸다. 3. 손실함수 loss function - 실제 출력값과 원하는 결과의 오차를 계산하는 함수이다. - 다양한 방법으로 정의할 수 있다. - 아래 예시에서 제곱을 하는 이유는 오차는 음수가 될 수 있기 때문에 합을 구할때 오차가 상쇄될 수 있다. ..
AI - 10. Perceptron 1. 신경망 - 최근 인기를 끌고 있는 딥러닝의 시작은 인공 신경망의 연구였다. - 방대한 데이터 수집의 어려움과 하드웨어의 한계를 극복하면서 신경망 구현이 가능해졌다. - 인공신경망은 생물학적 신경망의 형태에서 영감을 받아 고안되었다. - 뉴런의 돌기에서 입력을 받으면 핵에서 신호를 처리하고 결과신호를 보내준다. - 컴퓨터는 학습이 불가능하기 때문에 기존의 컴퓨터의 구조를 인간의 두뇌와 비슷하게 발전시키려는 노력에서 시작되었다. - 이렇게 만들어진 신경망은 학습이 가능하다는 장점이 있다. 굳이 문제 상황을 정의하여 프로그램을 만들지 않아도 데이터만 있으면 학습이 가능하다. - 또한 기존 컴퓨터와 달리 소자 몇개가 오작동을 일으키더라도 큰 문제가 발생하지 않는다. 오류가 있어도 신뢰할만한 결과를 제시할 ..
AI - 9. kNN, Gaussian Mixture 1. kNN Algorithm - 기계학습 알고리즘 중에 가장 간단하고 이해하기 쉬운 알고리즘이다. - 두개의 클래스로 구성된 데이터가 위처럼 나타나 있다고하자. - knn이 어떻게 이 두 군집을 분류하는지 알아보자. - 새로운 input으로 별이 위에 처럼 표시되었다고 하자. - 별을 중심으로 k=3이 되는 원을 그린다는건 원 안에 3개의 데이터가 있도록 그린다는 것이다. - 마찬가지로 별을 중심으로 k=5가 되는 원을 그린다는건 원 안에 5개의 데이터가 있도록 그린다는 것이다. - k가 3인 knn모델의 경우는 원 안에 초록 원이 더 많으니 별표를 원이라고 인식한다. - 하지만 k가 5라면 별표를 파랑 네모라고 인식하게 된다. - k가 증가함에 따라 분류결과가 달라지는 것이다. - 참고로 일반적으로 ..
AI - 8. Linear Regression 1. Linear Regression - 회기란 데이터들을 2차원 공간에 찍은 후 이들을 가장 잘 설명하는 직선이나 곡선을 찾는 문제라고 생각하면 된다. - f(x)를 fitting하는 것을 말한다. 선형의 경우 Linear, 비선형일 경우 non-linear등으로 부르기도 한다. - 입력값이 연속된 실수이고 출력값도 연속된 실수의 경우 활용이 쉽다. - 데이터의 경향이 fitting이 가능한 경우에 활용이 가능한 방법이다. - 예를 들면 부모의 키에 따른 자녀의 키, 면적에 따른 주택의 가격, 연령에 따른 실업률 등이 linear regression 문제에 해당한다. - 선형 함수를 예측할때 f(x) = Wx + b라고 하면 w를 가중치, b를 bias라고 한다. 결국은 선형 방정식을 찾는 것이다. 2..
AI - 7. 머신러닝 개요 1. Pattern? - 얼굴, 지문, 글씨 등에 패턴이 존재한다. - 유사성을 갖는 특징, 속성들의 집합을 말한다. - 사람의 얼굴들에는 눈, 코, 입 등의 속성들로 이루어진 패턴들이 존재한다. 인종, 남성, 여성에 따른 차이가 존재하지만 동일한 패턴의 범주에 존재한다. 2. 인식 - 패턴들로 부터 특징들을 꺼내고 최종 class로 구분하기 위한 분류작업이 이루어지는 것을 말한다. - 예를들면 얼굴 사진으로부터 얼굴 크기, 코의 모양, 눈썹의 짙은 정도, 눈의 크기 등의 feature를 꺼내고 그 정도에 따라 알고있는 지식에 기반해서 "누구다"라는 결정을 내리게 된다. - 일반적인 인식의 프로세스를 살펴보면 다음과 같다. 1. 데이터베이스 수집 2. 특징 설계 : 색상, 크기 등의 주요한 특징들을 fe..

728x90