[DeepLearning] 딥러닝 개요 1편

[DeepLearning] 딥러닝 개요 1편

반응형

안녕하세요

공부하는 웅이입니다

딥러닝 배워보기 위해, 관련한 포스팅을 연재할 계획입니다.

Deep Learning Starter 1편입니다.

인터넷 상에서는 수많은 데이터가 전송되어지고 있습니다. 이러한 축적된 데이터들은 일상 생활에서 유익한 의사결정을 내릴 수 있도록 도움을 줄 수 있습니다. 그 과정에서 기계가 데이터를 읽어들이고, 문제나 과업을 설정하여, 학습을 시킬 수 있습니다. 그래서 원하는 결과가 나오도록 학습한 기계를 미래를 예측하고 사람들에게 유익한 결과를 이끌어 낼 수 있게 예측을 수행합니다. 이로 인해, 수많은 서비스가 탄생하였습니다. 그 중에 하나가 넷플릭스의 영화 자동 추천 서비스, 출퇴근 시간대에 유동적으로 변하는 네이버지 지도 길찾기 서비스 등, 수많은 회사에서 새로운 서비스들은 끊임없이 시장에 내놓고 있습니다.

데이터들은 적절한 처리를 이뤄줘야 합니다. 기계는 이러한 데이터를 학습하여 처리하는데, 이때 인공지능(AI), 머신러닝(Machine Learning), 딥러닝(Deep Learning) 의 개념이 등장합니다.

그럼 관련된 개념들에 대해서 하나씩 정리하는쪽으로 포스팅 해보도록 하겠습니다.

신경망

인간의 뉴런을 하나의 노드(인공 뉴런)으로 가상화하여 각 노드의 특성(가중치)를 다르게 설정하여 동일한 입력에 대해 다양한 반응을 발생하도록 하게 함

인공지능(AI)

인간의 지능을 갖고 있는 기능을 갖춘 컴퓨터 시스템이며, 지능을 기계 등에 인공적으로 시연한 것입니다.

머신러닝(Machine Learning)

기계 학습이며, 인공지능의 한 분야로서, 컴퓨터에게 데이터를 학습하여 알고리즘과 기술을 개발하는 분야입니다

딥러닝(Deep Learning)

심층 학습 이라고 불리는 것으로 변환 기법의 조합을 이용하여 높은 수준의 추상화를 시도하는 것입니다

사람이 직접 작동하지 않아도 알아서 특징을 찾아내고 패턴을 분석하여 알아서 학습하는 기계학습의 한 분야입니다

출처 : https://hyeonjiwon.github.io/

머신러닝 알고리즘의 유형은 3가지 입니다

첫번째, 예측, 분류입니다 - Supervised Learning

-train, test 로서 문제와 정답을 알려주고 공부시키는 방법입니다.

-분류(Classification), 회귀(Regression), 예측(Forecasting) 이 있습니다.

두번째, 연관 규칙 및 군집입니다. - Unsupervised Learning

-답을 가르쳐주지 않고 공부시키는 방법입니다.

-클러스터링(Clustering), 차원 축소(Dimension Reduction) 이 있습니다.

- 클러스터링에는 특정 기준에 따라 유사한 데이터 모집들을 하나의 그룹으로 만드는데, 이때 다양한 방법이 있습니다. 세부적으로 분류하는 기법으로 미세하게 옵션값들을 바꿔줌으로 고유한 패턴을 찾기 위해 그룹 차원에서 분석을 수행하게 됩니다.

세번째, 강화 학습입니다. - Reinforcement Learning

-보상을 통해, 상은 최대화, 벌은 최소화하는 방향으로 행위를 강화하는 학습 방법입니다

인공 신경망

딥러닝의 근간은 인공 신경망입니다

인간의 뇌의 경우 천억개의 뉴런으로 이뤄져 있습니다. 뉴런과 뉴런 사이에는 시냅스라는 연결 부위가 있는데, 신경 말단에서 자극을 받으면 시냅스에서 화학 물질이 나와 전위 변화를 일으킵니다(전기적 위치 에너지의 변화를 말합니다). 신경에서는 전기 신호로 내용이 전달됩니다. 이때 전위가 임계 값이 있는데, 이 값을 넘게 되면 다음 뉴런으로 그 신호를 전달하고, 임계 값에 도달하지 않는다면 아무것도 하지 못합니다.

이 매커니즘은 로지스틱 회귀와 많이 닮았습니다. 입력 값을 놓고 활성화 함수에 의해 일정한 수준을 넘으면 참(True)르, 그렇지 않는다면 거짓(False)를 내보내는 이 간단한 회로가 하는 일이 뉴런과 동일합니다.

인공 신경망(Artificial Neural Netwrok) 라고 하는 것은 우리 몸 속에 수많은 뉴런이 서로 긴밀히 연결되어 신경 말단에서 뇌에 이르까지 곳곳에서 정보를 전달하는 역할을 수행하는데, 이러한 전달의 결과로서 '생각'이라는 것이 형성이 됩니다. 이를 인공적으로 만든 것이 인공 신경망입니다. 뉴런과 뉴런 사이에 새로운 연결을 만들거나 필요에 따라 위치를 바꿔주는 것처럼, 여러 층의 퍼셉트론을 서로 연결시키고 복잡하게 조합합니다. 그에 따라 주어진 입력 값에 대한 적절한 판단을 하게 하는 것이 바로 신경망의 기본 매커니즘입니다.

가중치, 바이어스, 가중합, 활성화 함수

https://koocci.gitbooks.io/aiclub-d/content/4c8fc-cc28-c870-baa8-c784/bc1c-d45c-b0b4-c6a9.html

자세한 설명은 위에 잘 설명되어 있습니다.

y= wx + b

그리고 w는 가중치, b는 바이어스 입니다.

가중치는 모든 입력 값들이 y값에 똑같은 영향을 미치는 것이 아니기에 가중합(weighted sum)이라는 용어가 등장했습니다.

0,1로 참과 거짓을 구분하는 것이 바로 활성화 함수이며, 대표적인 예가 시그모이드 함수입니다.

다층 퍼셉트론

XOR 문제를 해결하기 위해서 새롭게 등장하였습니다. 기본 입력층에서 '은닉층'이라는 그래프가 등장하여 출력의 값을 원하는 결과값으로 만듭니다.

XOR

Exclusive OR 입니다

입력 1 입력 2 결과값 0 0 0 0 1 1 1 0 1 1 1 0

서로 같은 값일때는 0이고 서로 다른 값일때는 1의 값을 출력합니다

여기서 하나의 직선을 그어서 원과 네모를 구분하는 방법을 실제 코딩으로 구현해보겠습니다.

딥러닝을 돌리기 위한 GPU 세팅

1. 아나콘다에 접속합니다

2. py37 작업 환경을 만들어 파이선 3.7 버전을 설치하여 환경 설정을 합니다

3. 텐서플로, 케라스를 설치합니다

4. python 을 실행하고, 설치가 잘 완료되었는지 확인합니다.

반응형

from http://ongbike.tistory.com/456 by ccl(A) rewrite - 2021-11-16 16:00:37