1. Anaconda

ai 툴의 종합 선물세트이다. 주피터 노트북이라는 툴도 제공해주고 python도 이용할 수 있도록 해준다.

Anaconda | The World's Most Popular Data Science Platform

 

Anaconda | The World's Most Popular Data Science Platform

Anaconda is the birthplace of Python data science. We are a movement of data scientists, data-driven enterprises, and open source communities.

www.anaconda.com

 

 

2. Tensorflow

그다음으로 Tensorflow를 설치한다. 아나콘다를 이미 설치 했으므로 python 이 작동할 것이다. 사이트에 친절하게 설치 절차가 나와있으므로 어렵지 않다.

TensorFlow

 

TensorFlow

모두를 위한 엔드 투 엔드 오픈소스 머신러닝 플랫폼입니다. 도구, 라이브러리, 커뮤니티 리소스로 구성된 TensorFlow의 유연한 생태계를 만나 보세요.

www.tensorflow.org

 

3. Pytorch and others

편한 라이브러리들을 제공해주는 파이토치를 설치하자. 또한 필수 수치 라이브러리인 Numpy와 차트를 생성해주는 matplotlib도 설치하자. pandas라는 것도 있는 데 그건 아마 아나콘다를 설치하면 기본적으로 설치될 것이다.

 

4. Visual Studio Code

보통은 anaconda 설치 후 제공되는  주피터 노특북을 많이 사용하지만 전문적인 개발을 위해서 code를 설치하도록 하자.

 

이제 본격적으로 딥러닝을 시작해 볼수 있다. 너무 날로 먹은것 같지만 구글링 하면 친절하게 나오는 설치 과정을 일일히 스캔떠봐야 시간 지나면 레거시만 되니 각자 구글링 해서 설치해 볼것을 추천한다. 각 사이트에서 너무나 쉽게 설치과정을 안내해 주고 있다.

 

여기까지 거치고 난 후 code를 열어 아래와 같이 입력 후 Ctrl+F5를 실행하면 터미널 창에서 각 패키지의 버전을 확인할 수 있다. 버전이 안나오면 뭔가 잘못된 것이니 구글링 하거나 여기에 댓글로 문의해서 같이 해결해 보자.

 

 

여기까지 했는데 뭔가 잘 안되고 있거나 문제가 생기고 내 노트북에 깔기도 귀찮을때 구글에서 제공하는 colab을 이용하면 된다. 

Colaboratory에 오신 것을 환영합니다 - Colaboratory (google.com)

 

Google Colaboratory

 

colab.research.google.com

여기에 들어가서 새노트를 클릭하면 코드를 입력할 수 있는 창이 나오고 코드 입력 후 마지막에 Shift Enter를 입력하면 code에서 실행시 나온값과 동일한 값을 볼수 있다.

참 좋은 세상아닌가? ^^

'Tech > Deep Learning' 카테고리의 다른 글

001.AI 기초자료.  (0) 2021.09.29

인간에게는 아래 그림과 같은 뉴런이 860억개가 있고 수상돌기를 통해 연결된 전체 갯수는 100조개라고 한다. 아무리 컴퓨터 성능이 좋아져도 당분간은 Hardware가 이정도 수준까지는 오르기는 어려워 보인다.  어쨋건 이런 뉴런을 흉내내고 다양한 알고리즘이 추가되어 현재 AI는 딥러닝으로 부흥기를 맞고 있다. 여기 저기서 딥러닝 해봤다고 하고 사람도 많이 뽑는다.

어차피 나는 그것으로 인해 취업할 일을 없지만 개인적인 호기심으로 공부를 하면서 정리해보고자 한다. 개인적으로 역사를 좋아해서 흥미롭게 AI가 발전하면 만난 두번의 혹한기와 부흥기등을 읽었지만 그런것들을 여기서 정리할 생각은 없다. 가장 기본적인 것만 간단히 훓어보고 바로 응용할 수 있는 부분에 집중해보겠다. 대신 선행 지식으로 파이선에 대한 최소한의 문법정도를 이해해야한다.

인공 지능을 설명하기 위해 필수적인 용어들을 알아야 하는데 대표적으로 Perceptron이 있다. 퍼셉트론은 뉴런의 네트워크를 말한다. 즉 Artifical Neural Network 라고 하며 인공 신경망의 기본 단위를 가리킨다.

 

인공 뉴런은 실제 뉴런을 모의했으므로 위 그림처럼 각 입력에 대해 가중치(W)을 준이 합친 다음 활성함수(Activation Function)를 거처 다음 뉴런으로 값을 전달한다. 무척 간단하지 않은가? ^^

 

문제는 위 뉴런으로 2차원 공간에 어떤 결정 요소들이 산재되어 있고 그것을 분류한다고 할때 하나의 직선만 그어서 구분할 수 밖에 없다. 하나의 활성함수로 입력에 대해서 계산하기 때문에 당연한 결과이다.

 

사실 이것으로 1차 AI 겨울이 찾아올 정도거 거의 망했는데 그 문제를 퍼셉트론을 레이어를 두면 여러개의 직선이 가능해지면 보다 세분한 분류가 가능해진다. 이렇게 여러 레이어를 두기 때문에 Deep Neural Network라고 하며 이것으로 Deep Learning이 가능해 지게 되었다.

다층 구조로 인해 분류를 할 수 있는 구분선을 비선형적으로 만들 수 있도록 구조화 하기 위해. 최초 입력을 받는 층을 Input Layer, 최종 판단을 하는 외곽층을 Output Layer, 그 사이에 비선형적인 구분선이 만들어지는 층을 Hidden Layer라고 하고 Hidden Layer가 1개 이상으로 구성되어 있으며 이 Hidden Layer가 2개 이상이경우를 Deep 하다고 말한다.

결국 각 레이어의 퍼셉트론들이 가지고 있는 Weight가 정해지는 과정을 학습이라고 할 수 있다.

 

이 Weight값이 학습을 통해 적정해지도록 정답과의 차이를 계산하여 Weight 값을 보정한다. 이 정답과의 차이를 정량화 해주는 것을 Loss Function 이라고 한다.  Loss를 는 미분을 이용하여 기울기를 구해 적정한 Weight값들 찾는다. 이것을 Gradient Descent라고 한다.  말은 그렇게 하지만 최종값이 정답과의 차이를 가지고 많은 w값 개별을 미분하기란 쉽지 않다. 이 것을 Back Propagation을 통해 해결한다고 한다. 수학에 관심이 있다면 관련 자료를 찾아보고 용어적으로만 대략 이해해도 실제 활용하기에는 무리가 없다.

'Tech > Deep Learning' 카테고리의 다른 글

002.개발환경 구축  (0) 2021.09.29

+ Recent posts