본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

Personal/Book

파이썬으로 따라해보는 딥러닝 AI프로젝트 실사례

Santanu Pattanayak 지음, 용환승 옮김

 

 

방문 및 소스 다운로드

https://github.com/packtpublishing

 

Packt

Providing books, eBooks, video tutorials, and articles for IT developers, administrators, and users. - Packt

github.com

https://github.com/PacktPublishing/Intelligent-Projects-Using-Python

 

GitHub - PacktPublishing/Intelligent-Projects-Using-Python: Intelligent Projects Using Python, published by Packt

Intelligent Projects Using Python, published by Packt - PacktPublishing/Intelligent-Projects-Using-Python

github.com

 

 

사용된 스크린샷/다이어그램 컬러 이미지

https://static.packt-cdn.com/downloads/9781788996921_ColorImages.pdf

 

 

실행중인 코드의 비디오

https://www.youtube.com/playlist?list=PLTgRMOcmRb3MwvkjzAjs_sz2l23rXOaEg

 

Intelligent Projects using Python

 

www.youtube.com

 

 

Chapter 1 AI 기반 시스템의 개요

지능이랑 아직 기계로 할 수 없는것이다. - 래리 테슬러

언어 및 자연어는 한때 복잡한것으로 간주되었지만 AI효과로 최근에는 AI가 아닌 계산문제로 간주된다. 

미래의 어느 시점에 인공지능 시스템이 인간의 지능 수준을 도달할 것이고 그 시점을 인공지능 특이점 이라고 한다. 

많은 사람들이 기계는 결코 인간의 지능 수준에 도달하지 못할것이라고 주장하는데 AI 논리는 사람이 프로그래밍한 지능적인 작업을 배우거나 수행하기 때문이라고 인간이 가지는 의식과 자의식이 없기 때문이나 연구자들은 인간의 의식과 자의식도 주위 환경에서 피드백으로 배우는 무한루프 프로그램과 유사하다는 생각을 제시했다. 

 

신경망

인간의 두뇌에서 영감을 얻은 기계학습 모델. 

신경처리장치를 인공뉴런이라고 하며 인간의 두뇌에서 축색돌기 axon와 같은 기능을 한다. 

연속값을 출력으로 예측하는 형식을 회귀문제라고 한다. 

구조와 당면한 문제의 유형에 따라 여러 종류의 신경 활성유닛이 신경망에 사용된다. 

 

신경활성 유닛

선형 활성유닛(선형), 시그모이드 활성유닛(비선형), 쌍콕 탄젠트 활성화기능

정류 선형 유닛(RelU) 뉴런에 대한 총 입력이 0 보다 크면 RelU출력이 선형이고 음수일경우 출력이 0이다. 

신경망이 포화 또는 사라지는 기울기에 문제가 발생하지 못하게 한다. 음수값에 대한 제로 기울기. 

 

softmax 활성함수

다중등급분류문제의 경우 등급확률을 출력하는데 사용한다.  몇가지 다른 활성함수가 있으며 대부분 기본 버전의 변형이다. 

 

역전파 방버

신경망은 그래디언트 하강 기술을 통해 학습되며 여기서 결합된 가중치 벡터 W는 다음과 같이 반복적으로 업데이트 된다. 

그래디언트 하강을 통해 반복벅으로 비용함수의 최소화를 수행하려면 가중치에 대한 비용 함수의 기울기를 계산해야한다. 

 

컨볼루션 신경망 CNN

이미지 및 오디오 데이터에 가장 적합하다. 입력 이미지는 컨볼루션 레이어를 통과할때 출력 특징 맵이라고 하는 여러개의 출력이미지를 생성한다. 출력 특징맵은 특징들을 감지한다. 신경망을 통해 진행함에 따라 컨볼루션 레이어는 점점 더 복잡한 특징을 탐지하는 법을 배운다. 이미지는 가장자리 및 색상 구성과 같은 관련 기능을 감지하는데 도움이 되는 컨볼루션 레이어를 통과하며 ReLU 활성함수는 비선형성을 제공한다.  활성계층 다음에 오는 pooling 풀링계층은 많은 양의 변환불변을 제공해 지역주변 정보를 요약한다. 이 컨볼루션 - 활성화 - 풀링 작업은 신경망이 고밀도로 연결되기 전에 여러번 수행된다. 

여러 컨볼루션 - 활성화 - 풀링 작업으로 신경망을 진행하면 이미지의 공간 해상도가 감소하는 반면 모든 레이어에러 출력 특징 맵 수가 증가한다. 일반적인 이미지 처리에 익숙한 독자들을 가우스필터 gaussian filter, 소벨에지 sobel edge 검출 필터 등과 같이 필터의 가중치가 미리 정의된 다른 필터 커널을 사용했을 수도 있다.  컨볼루션 신경망의 장점은 다른 필터 가중치가 훈련과정을 통해 결정된다는 것이다. 

컨볼루션 연산이 입력의 모든 위치에서 필터 커널을 오버레이하는 것을 포함하는 경우 컨볼루션은 하나의 보폭 stride를 갖는데 필터 커널을 오버레이 하는 동안 한 위치를 건너뛰기로 선택하면 두단계를 거쳐 컨볼루션이 수행된다. 1보다 큰 보폭은 컨볼루션 출력의 공간 차원을 줄인다. 

컨볼루션 연산은 각 레이어에서 학습할 가중치의 수를 줄인다. 입력 및 출력 크기가 동일한 컨볼루션 레이어의 경우 필터 커널의 가중치만 알아야한다.

로컬 공간 부근 이미지 및 오디오와 같은 구조가 단순화가 작동한다. 입력 이미지는 여러 계층으 컨볼루션 및 풀링 작업을 통과해 신경망이 진행됨에 따라 특징맵의 수가 증가하는 반면 이상도 공간 해상도는 감소한다. 출력 유닛은 현재 작업에 따라 다르며 회귀를 수행하는 경우 출력 활성 유닛은 선형이고 이진분류문제일 경우 출력 유닛은 시그모이드. 멀티클래스 분류의 경우 출력 레이어는 소프트맥스 유닛이다. 

 

재귀신경망 RNN 

순차적 시간적 데이터를 처리하는데 유용하다 .RNN의 경우 함수는 기본적으로 시그모이드 또는 tanh. 입력에 대해 지정된 범위의 값을 포과하여 낮은 기울기를 갖는 채도 문제를 겪는다. 

 

장기단기기억 LSTM 셀

3개의 게이트, 망각, 업데이트 출력 게이트에 의해 셀상태가 조절된다. 셀 상태의 모든 정보가 다음 단계로 전달되는 것은 아니며 다음 단계로 해제되어야 하는 셀 상태의 양은 출력 게이트에 의해 결정된다. 망각 셀 상태를 1에 가깝게 유지할 수 있다면 그래디언트는 거의 감쇄되지않고 LSTM은 사라지는 그래디언트 문제를 겪지않을 것이다. 

 

생성적 적대 신경망 GAN

생성기 G를통해 특정확률 분포를 학습하는 생성모델. 생성기는 주어진 확률 분포에 의해 생성된 것과유사한 샘플을 생성하려고 시도하는 반면 판별기 d는 생성기 g에 생성된 가짜 데이터 샘플을 원래 분포의 데이터 샘플과 구별 하려고 시도한다. 일반적으로 주어진 확률 분포가 주어진 분포의 확률분포와 얼마나 일치하는지 측정하기 위해 KL Kullback-Leibler 발산, jensen dhannon 발산 및 Bhattacharyya 거리와 같은 f-발산척도가 사용된다. GAN은 간단한 과정이 아니며 고려해야할 몇가지 기술적 사항들이 있다. 

 

강화학습

기계 및 에이전트가 특정 작업을 수행해 특정상황 내에서 특정 형태의 보상을 극대화할 수 있는 기계학습의 한분야이다. 강화학습은 감독 및 비지도 학습과는 다르다. 

 - Q러닝

주어진 유한 마르코프 결정 프로세스에 대한 최적 행동선택 정책을 결정하는데 사용된다. 마르코프 결정 프로세스는 상태공간, 액션공간, 즉각보상세트, 현제상태가 주어지면 다음상태의 확률을 현재행동, 할인 율에 의해 정의된다. 

Q-러닝 에이전트는 각 상태에서 장기보상 Q를 극대화하는 행동을 취하려고 한다. 반복 프로세스. 

 - 딥 Q러닝

Q-러닝에서 우리는 일반적으로 유한한 상태와 행동으로 작업한다. 이는 테이블이 Q값과 보상을 보유하기에 충분하다는 것을 의미한다. 심층 신경망은 보편적인 함수 근사기이기때문에 문제를 풀기위해 상태만 사용하여 신경망을 학습학 출력을 모든 작업에 해당하는 Q값으로 가질 수 있다. 강화학습을 사용해 딥 Q러닝을 통해 경주용 자동차를 스스로 운전하도록 훈련할 예정이다 

 

전이학습

한 도메인에서 얻은 지식을 사용하여 다른 도메인의 관련 문제를 해결한다는 개념

딥러닝 모델은 서로 다른 계층 단위 간의 연결 패턴 특성으로 인해 많은 수의 매개변수를 갖는 경향이 있다. 상당한 양의 데이터가 없으면 모델이 과적합 될 수 있다. 

CNN에서 이미지를 처리할때 초기레이어는 컬, 가장자리, 색상 구성 등 매우 일반적인 특징을 감지하느 ㄴ법을 배운다 .네트워크가 깊어질 수록 더 깊은 레이어의 컨볼루션 레이어는 특정 종류 데이터 집합과 관련이 있다. 

 

제한볼츠만머신 RBM Restricted Boltzmann machines

데이터 내부 표현을 학습하는 감독되지않은 기계학습 알고리즘 클래스. 

숨겨진 레이어 입력을 고려할때 보이는 유닛의 출력을 독립적으로 샘플링할 수 있으며 그 반대도 가능하다. 주성분 분석 PCA와 유사하게, RBM은 한 차원에서 은닉계층 h에 의해 제공되는 다른 차원으로 데이터를 표현하는 방법이다. 은닉 레이어의 차수가 가시 레이어 차수보다 작은 경우 RBM은 차원축소작업을 수행한다. 가중치및 바이어스 관련하여 비용 함수의 경사하강에 반복에서 샘플링이 그림에 나타나고 훈련과정을 비싸고 계산적으로 다루기어려워지게한다. 

 

오토인코더

RBM과 마찬가지로 데이터내의 숨겨진 구조를 찾아내는 것을 목표로 하는 무감독 학습 알고리즘 클래스이다. 오토인코더는 입력 변수간의 상호작용을 캡쳐하면서 숨겨진 레이어에서 다른 차원으로 입력을 나타낼 수 있는 신경망. 대부분 숨겨진 레이어의 크기는 입력의 크기보다 작다. 고차원 데이터에 저차원 구조가 있다는 가정.

오토인코더는 잠재적인 데이터 표현 학습, 노이즈 감소 및 특징 탐지와 같은 다양한 목적으로 사용된다. 현재 가변 오토인코더 gan은 이미지 처리를 위한 생성모델로서 매우 인기가 있다. 

 

 

chapter2 전이학습

 

독서중...