Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Star_project

[딥러닝(1)] 딥러닝이란 / 성장 배경/ Tensorflow 설치 / Google Colaboratory / 신경망/ 단층 퍼셉트론 / 활성화 함수/ 가중치/ 손실함수 본문

머신러닝/딥러닝

[딥러닝(1)] 딥러닝이란 / 성장 배경/ Tensorflow 설치 / Google Colaboratory / 신경망/ 단층 퍼셉트론 / 활성화 함수/ 가중치/ 손실함수

star빛 2021. 4. 24. 15:05

 

| new-h.example.ipynb

임계치

0.5로 기준을 해서 확률 판단 이진분류법 0으로 가거나 1로 가거나!

PPT

SVM

데이터를 판단할 때 분류가 이루어진다면

어떻게 분류선을 만들 것인가.

수직이 되는 상태편 점을 기준으로 선을 그리는 것. 그 거리를 마진이라고 하는데 그 마진이 최대화인 곳을 찾는 것. 그래야 더 잘 찾음.

노란선은 파란선보다 마진이 작기 때문에 일반화 기능이 떨어진다는 것.

커널 SVM

직선으로 하려니까 답이 안나옴. 분류하고 싶은데 단순한 직선으로는 나오지 않아서 새로운 차원으로 이동 변환해서 분류를 하는것.

차원이 높아지면 공간이 생기면서 거리가 멀어지게 됨

변환작업이 있어서 연산량이 많은데 커널함수가 빠르게해줌

특히 스케일처리에 영향을 받음. 스케일처리 필요

머신러닝 사용자 관점에서 텍스트 관점에서 설명. 수식은 제외

www.aladin.co.kr/shop/wproduct.aspx?ItemId=170317445

 

케라스 창시자에게 배우는 딥러닝 Deep Learning with Python

창시자의 철학까지 담은 딥러닝 입문서.케라스 창시자이자 구글 딥러닝 연구원인 저자는 ‘인공 지능의 민주화’를 강조한다. 이 책 역시 많은 사람에게 딥러닝을 전달하는 또 다른 방법이며,

www.aladin.co.kr

| 케라스 창시자에게 배우는 립러닝

| introduction-to-deep-learning.pdf

 

정말 잘 되어있는 레퍼런스이다. 발행연도가 조금 오래됐을뿐

딥러닝과 신경망에 대한 통찰력이 굉장히 수준 높다.

컴퓨터에서 자동화하는 것을 다 인공지능

에어컨, 공기청정기, 정수기 다 인공지능. 자동화된 상황대응을 할 수 있는 시스템은 포괄적으로 인공지능이라고 함

그 중에서 머신러닝은 스스로 학습하는 패턴을 가지고 있는 자동화 시스템이다.

딥러닝은 그 중에서도 신경망을 기반으로 알고리즘을 형성하는 머신러닝이다.

신경망이라는 알고리즘을 써서 만듦 = 딥러닝. 지금 각광을 받고 있고 기존에 있던 알고리즘을 압도하고 있는 상황

큰 카테고리의 범주의 차이이다. 특히 머신러닝과 딥러닝은 같은 목적을 가지고 있음. 그런데 딥러닝이 알고리즘 강력하니까 하나의 분류가 됨.

  • 신경망

인간의 뇌의 동작구조를 모티브로해서 만들어진 것.

인간의 뇌가 어떻게 정보가 만들어지고 .. 전달이 되고 .. 추상돌기 .. 신경세포의 뇌 줄기가 동작원리인 것 처럼

노드들을 기반으롤 의사결정을 할 수 있게 만들면 되지 않을까.

복잡한 대규모 알고리즘을 다루는데 적합한 알고리즘이 되었음. = 딥러닝

네트워크가 패턴을 학습하도록 익히도록 만드는알고리즘

데이터로부터 표현을 학습하는 새로운 방식

원본데이터가 구성되어 있는데 다른 방식의 관점으로 표현을 바꾸어주면 해석하는데 더 좋은 가능성이 있을 것이다.

= > 딥러닝

연속된 층으로 여러개를 만들어서 결합해서 표현을 학습하는 방법이다.

층을 많게 할 수록 풍부한 표현을 학습할 수 있다.

여러 층 네트워크로 나누어서 학습 수십 수억개의 네트워크를 이루고 그 각각이 자기만의 역할을 수행하면 그 성능은 대단히 높다. 그 하나 하나가 학습하는 표현은 별 것이 아니지만 네트워크를 이루어서 총량은 큰 성과 이 층을 늘리는 것이 어려운 작업 중에 하나였다. 신경망이 발달하는 과정에서 어려운 과제였는데 2, 3개까지 늘리는 것은 가능했는데 늘려도 효과가 안나고 의미 없느 층이 되고 그 문제를 해결하는 작업이 알고리즘 상에서 문제였으나 지금은 해결이 된 상황, 수십개, 수백 개의 층을 만들어서 학습을 할 수 있도록 준비된 상황

층을 몇개를 만들고 각각 구성은 어떻게 네트워크는 어떤 방식으로 연결. 하나는 미미, 전체가 연결되면 매우 강력한 힘.

각각의 해석을 결합해서 또 다른 곳으로 넘기고 (지금까지 한 알고리즘 머신러닝은 하나의 매우 강력한 알고리즘 적용 모델은 단일 모델(앙상블제외) 였음.. 하나의 독립적인 논리를 사용하는 하나의 요소가 데이터가 들어오면 혼자서 해석하는 방식, 앙상블을 여러개의 모델을 결합해서 처리 하나가 만든 결합을 평균내는 방식일 뿐 협업하는 방식은 아님)

신경망은 그 자체로는 강력하지 않지만 그런 것들을 수만개 수십만 개를 모으면 매우 강력한 결과를 본다.

작동원리

입력 X -> 층(데이터 변환) SVC, logisticRegression Decision 객체라고 보면 예측과 타깃을 비교해서 손실함수 동일. 경사하강법에서 이야기하는 논리를 그대로 쓴다. 예측값과 실제 값 비교해서 손실을 비교 손실을 줄이는 방향 최적화 도구를 이용해서 손실을 줄이고 가중치를 주어서 변경을 주고 다시 데이터 변환 다시 손실 비교 옵티마이저가 다시 가중치 조정

경사하강법 논리 그대로 동작하게 되어있음.

다른 점은 네트워크를 거치면서 여러개의 층에서 예측값이 결정되어짐.

단일 노드가 아닌 여러 개의 층을 나눠서 만드는 것


딥러닝 성장 배경

2012년 이후 지금까지 엄청나게 발전하고 있는 상황. 성과도 내고 있고!

딥러닝을 발전하게 만드는 요인

첫 번째, 하드웨어의 성능이 굉장히 향상 되면서 기존에는 엄두가 안난 연산량을 계산

아직까지 컴퓨팅 기술로는 이 연산량을 감당할 수 없다. 알파고

그래픽 카드 개발 머신러닝 학습할 수 있도록 라이브러리 개발

딥러닝 개발 알고리즘이 게임 연산 그래픽 과 비슷

신경망은 CPU 보다 GPU에서 하는 것이 더 좋음

그래픽 카드에서 연산을 지원함으로서 엄청난 성장 계기

하드웨어의 발전이 신경망, 딥러닝을 발전시키는데 좋은 결과

두 번째, 데이터와도 연관

딥러닝은 데이터량이 많을 때 강점이 있음. 큰 효과를 보기 어려움. 특히 강점 데이터량이 많아져서 딥러닝 성장 계기

데이터 자체가 충분히 많지 않은 것은 문제

아이폰으로부터 스마트폰 성장, 휴대용 태블릿 PC, CCTV 등 디바이스 발전으로 데이터의 생산량이 급격하게 증가.

하드웨어도 데이터와 연관 데이터의 생산량이 급격하게 늘어남.

세 번째는 알고리즘 층을 늘려도 네트워크를 늘려도 효율을 못보는 문제들이 발생했는데 .. 네트워크 늘어나면 연산량이 늘어나는데 효과적이지 못했는데.. 활성화 함수에 대한 가중치 초기화. 층을 늘리면 기울기 소실, 폭증을 조절하는 방법

학습을 효과적으로 하는 가중치 업데이트

딥러닝이 모든 해결방법은 아님

데이터량이 작은 곳에서는 단점.

여전히 적정한 규모의 정형 데이터는 고전 알고리즘이 강세

주로 조건이 맞는 것이 비정형 데이터 데이터의 규모가 매우 큰 영역이라면 딥러닝이 효과적, 해결책을 만들어내고 있다.

자율 주행차가 돌아가려면 실시간으로 영상이 들어와야하고 실시간으로 영상을 해석해야 한다. 운전을 스스로 하려면 주변 상황에 대해 영상이 들어와서 실시간으로 해석 사람인지 .. 신호 보고 상황판단을 실시간으로 해야함. 학습을 통해서 연산한 작업 내용의 가중치값도 엄청나게 많은 양. 발생하는 상황이 엄청 많은데 학습을 통해야하니 요구되는 연산량이 상상을 초월함.

----(쉬는 시간) ----

구글에 tensorflow 설치 검색

https://www.tensorflow.org/install/pip?hl=ko

pip를 사용하여 TensorFlow 설치

Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기 TensorFlow 설치 pip를 사용하여 TensorFlow 설치 목차 TensorFlow 2 패키지 사용 가능 이전 버전의 TensorFlow 시스템 요구사항 하드웨어 요구사항 1. 시스템에 Python 개발 환경 설치 TensorFlow 2 패키지 사용 가능 tensorflow - CPU와 GPU 지원 이 포함된 안정적인 최신 출시 (Ubuntu 및 Windows) tf-nightly - 미리보기 빌드 (불안정) . Ubuntu ...

www.tensorflow.org

Tensorflow 2

라이브러리가 있어서 함수와 클래스를 만들어서 택스트 수준이해만으로도 충분

TensorFlow도 동일함. 네트워크를 구성하려면 필요한 요소들을 직접 구현하지 않고 미리 다 만들어두어서 설계만 하면 되도록 몇개 만들지 어떻게 만들지, 구현을 한 라이브러리들이 여러 가지가 있음.

TensorFlow가 저수준 라이브러리로 많이 쓰임.

케라스가 하둡의 스파크 같은

저수준 작업으로 고수준 작업 가능

고수준 라이브러리를 써서 작업을 하는 것을 권장하고 그래서 충분

케라스를 중심으로 이루어진 교재 텐서플로어와 호환 가능.

파이토치

tensorflow keras pytorch

예전에는 tehnsorflow를 직접 썻지만 지금은 기반으로해서 keras를 인터페이스로 씀.

작업환경은 keras 기본적인 백엔드는 tensorflow 이다.

그래서 제일 먼저 설치하려는 것이 TensorFlow 이다.

엠비디아사에 라이브러리를 먼저 설치해야 GPU 드라이버가 있어야하고.. CUDA...

참고사항으로하고

지금은 CUDA 지원에 운영체제별로 제약이 있고 현재 시점에서는 GPU는 엠비디아이 그래픽 카드만 가능

설치 누르기

x64:vc_redist.x64.exe

용량 성능

6~8기가 설치 하면 개인용 피씨에서의 한계치

더 좋은 것은 회사가서 하기!

https://colab.research.google.com/notebooks/intro.ipynb

 

Google Colaboratory

colab.research.google.com

datafile은 소멸되지만 notebookfile은 구글 드라이브에서 유지가 됨.

구글에서 제공하는 가상머신!

개인적으로 GPU도 있고 환경이 있으면 로컬에서 해도 됨..

설치나 장비에 문제없이 하면 colab이 좋음 앞으로 수업은 여기서!

연결 누르면 됨!

환경 할당

런타임 유형설정

텐서플로우에 결합해서 하는 케라스가 있고

독립적인 케라스가 있음.

텐서플로우에 내장된 케라스를 사용하는 것이 권장

최적화 되어있기 때문!

표형태의 데이터가 아닌

순환 텍스트, 이미지에 발전

토의 데이터 셋 쓸 것.

데이터 전처리에는 판다즈가 많이 쓰이지만

머신러닝 딥러닝에서는 numpy ndarray 가 많이쓰임

1200 x 600 점이 표현을 하고있는 것 컬러의 경우 세개의 그리드가 섞여서 표현되어있음

흑백은 하나

그 하나를 pixel이라고 부름

0부터 225

색상을 표현하는 표현 방법 레드 그린 블루

각각의 색상값의 강도를 0에서 표현 1byte

0부터 225까지의 값으로 표현 0부터 225까지 표현 값을가지고 구성

0은 흰색 255는 검정색

한 점 한 점이 색상값을 가지고 있고 가로로 28 세로로 28로 저장되었다는 것.

---------(쉬는 시간)--------------

층을 만들건데 그 층안에 몇 개의 요소로 만들지 그리고 연결은 라이브러리가 그 과정은 다 처리해줌

몇 개층 만들것이고 각 층안에 몇 개의 unit 요소가 들어있는지 알려주면 됨!

교재기준 56페이지부터 코드 따라가는 중!


(점심 시간)

w0 ~ w6 + w7( 편향, 절편)

데이터가 네트워크를 통해서 전부다 흘러다니게 하나 연결될 때마다 가중치가 붙음.

들어있는 데이터마다 가중치가 붙어있음

각각의 유닛마다 모든 가중치를 다 받아서 가중치가 폭발적으로 증강할 수밖에 없어짐.

10개의 데이터가 다 가지고 있음. 100개의 10개면 1000개가 되고 그것만큼의 절편이 붙음 w7 1010개의 가중치가 만들어짐 이번에 10개가 들어가면 10개의 10개니까 100개 절편까지 110개가 만들어짐..

네트워크를 구성할 때 제일 먼저 알아두어야할 것은 어떤 구성이면 어떤 출력이 나올 것인지 아는 것을 중요함.

텐서 연상의 매커니즘을 아는 것이 매우 중요


신경망을 위한 데이터 표현(PPT)

네트워크가 구성이 되면

2차원 행과 열

3차원은 행과 열로 되어있는 것이 여러 개 있는것

4차원은 3차원이 여러개 있는 것

최대 5차원 정도까지 사용 가능 동영상 데이터를 다루는 경우

브로드 캐스팅

11, 22, 33, 41, 52, 63,

구조를 확장했을 때 연산 가능하면 확장해서 연산 수행

텐서 연산

기울기가 + 이면 -방향으로 ,,,

기울기가 - 이면 + 방향으로 최저점까지 오도록 만들도록 수행하는 것이 손실을 최적화해서 정답으로 가는 방향

그래디언트 기반 최적화

조금씩 조금씩 최적화

단계로 본다면 타겟을 도출하고 예측값을 찾아냄.

2개를 비교해서 손실을 계산하고 w를 조정 가중치 업데이트

여러번 반복하면 정답에 근접해진다.

1)풀배치

3)확률적 경사하강법 Stochastic Gradient Descent

2)배치 경사하강법 조금 완화

모먼트, .. SGD

기울기를 계산하는 것.

디테일한 이야기는 잘 안해줌

교재는 추상적인 부분에서는 매우 잘 설명

신경망인 경우에는

 

www.aladin.co.kr/shop/wproduct.aspx?ItemId=99518713 

 

밑바닥부터 시작하는 딥러닝

라이브러리나 프레임워크에 의존하지 않고, 딥러닝의 핵심을 ‘밑바닥부터’ 직접 만들어보며 즐겁게 배울 수 있는 본격 딥러닝 입문서이다. 술술 읽힐 만큼 쉽게 설명하였고, 역전파처럼 어려

www.aladin.co.kr

 | 밑바닥부터 시작하는 딥러닝 저자사이토 고키출판한빛미디어발매2017.01.03.

도서관에 가면 다 있음.

기울기를 계산해야 기울기만큼 가중치 계산

미분을 하는 방법을 오차 역전파법으로 해결했다.

좋은 부품은 다 갖추어두었지만 조립 결합은 알아서 = tansorflow

완제품을 사는 것은 = keras -> 고수준의 쉽게 사용할 수 있는 것. 거의 모든 종류의 딥러닝 모델을 간편하게 훈련

누구나 다 사용해야하는 필수도구들이 됨.

반복적인 쓸데없고 복잡해서 keras가 필요, 잘 만들어짐.

---(쉬는 시간) ---

신경망

단층 퍼셉트론

신경망의 기원

유닛이 하나

층 하나가 어떻게 동작하는지에 관한 것.

들어오는 입력 전체에 대해서 다 데이터를 수용해야함.하나의 노드는입력되어지는 모든 데이터 요소를 받아야 함.

자기에게 부여된 가중치가 있음.

가중치로 데이터를 받음.

그것을 합함. 결국은 네트워크라는 것이 데이터가 들어오면 데이터를 어떤 형태로든가공을 해서 넘기는 것.

기존의 알고리즘은 입력도 결과도 과정도 혼자 다했는데 신경망은 네트워크를 통해 하겠다.

자기 가중치를 가지고 있고 데이터가 들어오면 가지고 있는 가중치를 결합해서 데이터를 합하고 그 결과를 반환하는데 데이터가 들어와서 연산을 하는데 특정한 방식으로 출력을 하는 작업을 수행 퍼셉트론이라고 하는 것은 하나의 노드가 어떻게 움직이는지 보여주려고 하는 것.

 

신경망에서는 그렇게 할 수는 없고 비선형 함수를 써서 출력값을 만드는 작업을 수행한다. 하나의 유닛은 데이터를 입력받아서 하나 하나의 유닛마다 가중치 세트가 있음 데이터 전체에 대해서 처리할 가중치 세트를 이용해서 데이터가 들어오면 처리하고 더하고 특정한 함수에 넣어서 출력값을 만드는 것이다.

다음으로 넘겨서 이 데이터를 또 다 받게 만드는 것.

일정한 조건에따라 함수에 적용하면 출력이 나오는 것.

이때 출력함수는 비선형 함수여야함. 선형함수로 구성되어있으면 층을 여러개로 두더라도 효과가 없어짐 이때 사용하는 함수들이 어떤 것이 있는지 정리하면

활성화 함수 종류

계단함수(퍼셉트론 일정한 조건 만족시 0이되거나 1이되거나) 신경망에서는 쓸 수 없음

Sigmoid (logisticregression) 함수

일반적인 네트워크에서는 단순해 보이지만 ReLU가 강력한 힘을 보이는 것을 입증함.

효율은 좋은데 문제있기도 함 . 그래서 변형함수들이 많음

이런 손실함수들, 활성화 함수를 사용해서 노드를 만들어놓음.

어떤 활성화 함수를 쓸 것인지 알려주어야함.

1. 입력의 규모(입력 몇개할지= 가중치 몇개 만들어야해 ) 2. 출력함수 (어떻게 출력할지 = 출력 방식)

2가지가 필요

from tensorflow.keras import models

from tensorflow.keras import layers

network = models.Sequential() # 전체 네트워크 구조 만들기 model.Sequential()

network.add(layers.Dense(512, activation='relu', input_shape=(28*28, ))) # Dense 완결연결층 네트워크 안에 512개 요소로 구성된 층 만들기

network.add(layers.Dense(10, activation="softmax")) # 네트워크 안에 10개의 요소로 구성된 층 만들기 (분류일 때는 출력층의 개수가 카테고리의 개수와 같아야 함)

# 입력 출력 2개의 층만 일단 할 것 # 카테고리 수 만큼 ,,

DENSE 층 512개로 만들겠다.

relu에 넣어라. 손실함수 relu.

시그모이드를 써도 되고 다 가능함. 손실함수는 relu로 하겠다.

입력을 알려주는 것 .너가 받게되는 것은 28*28이다. 하나당 748개의 가중치가 있어야 함.

가중치가 748개 + 1 (절편 bios까지) 해서 준비

하나의 노드가 어떻게 구성되어야하는지 주고 + 512개 만들어라. 몇개 만들어야 하는지

이 신경망 구조를 네트워크를 만들어주는것이 신경망이다.

전체적으로 본다면 우리가 의미있는 정보가 나올 것이다.

가중치에 대한 준비를 해야하니까 몇개나 준비? input_shape(28*28) 748 +1개의 가중치를 만들어라

그런 얘를 512개 만드는 것. 748*512 + 512 = 401920

출력은 512

저렇게 동작하는 하나를 512개 만들어서 층을 만들 것.

748개의 가중치를 512개가 만들어지는 것

748*512 + 512(각각 절편)

앞의 출력개수가 뒤의 입력개수여서 두번 째 줄은 입력개수 안넣어도 됨

마지막 층에 대한 이야기 (출력층)을 특별하게 만들어야 함. 안에 층은 데이터 흐름만 만들면 되는데 마지막은 특별하게 해야함.

마지막 출력은 예측에 대한 정보

예측Y에 대한 정보를 비교해서 손실함수를 계산해야하니까 마지막 층의 출력 정보는 특별하게 처리해야 한다. 출력 층의 출력함수, 활성화 함수는 어떻게 할 것인가를 따로 봐야함.

분류와 회귀에 따라서 출력함수가 다르다.

회귀는 항등함수 : 입력 값을 그대로 출력 처리

분류는 소프트 맥스 함수 : 출력 값에 대해서 확률값으로 바꾸어서 정규화 시키는 것. 들어올 때 큰 것은 나갈 때도 제일 큰 값. 다만.. 확률값으로 ,, 전체값은 1 그중 어느 정도의 확률인지로 나감.

범주의 개수만큼 추력 노트가 있을 것이다. 확률값을 반환을 한다.

출력 층에서는

회귀는 값 하나 출력 노드 한 개면 됨

범주형노는에는 번부 개수많금 맣들면ㅚㅁ.

출력 값을 확률로 해석할 수 있음.

출력의 의미는그대로 유지하면서 확률값으로 유지

분류의 개수만큼 유지

신경망 학습이 가지고 있는 네트워크 특징은 입력데이터가 쭉 들어오면 어떤 차이가 있냐면

데이터가 속성을 feature을 이렇게 가지고 있다면

 

w1 w7 w0

d 입력치와 연결어있으면 입력과 상관 없게 된.

선형 기반의 머신러닝 알고리즘은 가중치로 조정하는데

정확하게 속성과 1:1로 매핑

네트워크 신경망의 가중치는w는 입력치는 데이터와 연관이 되지만

숨겨진 layered는 기존의 입력과 직접적으로 연결구조가 관련 없음.

범주형인데 연속형으로 처리한건 아닌지 데이터 처리 잘 해야함.

고민해야함.

데이터를 구성할 때 좋은 데이터 구성하는 것은 머신러닝이 요구하는 구조에 맞춰서 조정해야함.

반면에 신경망은 그것을 조절하는 매커니즘이 있음

입력요소와 1대1로 매핑되어있는 것만 가지고 있는 것이 아님

복잡한 매커니즘기반에서 연산하다보니 자동으로 조절

신경망의 장점은 특성 공학이 상대적으로 덜 하다.

그렇다고 특성 공학 전공 안해도 되는 것은 아니다. 특성공학 양질의 좋은 데이터 투입하면 더 빨리 결과에 도출

기존의 머신러닝은 데이터의 특성이 어떻게 구성되어있는지에 따라서 좋지 않은 데이터가 있으면 결과가 안좋은 반면

신경망은 스스로 처리하는 특징이 있음. 자기완결적이고 종단간 기계학습

특징처리를 사람이 처리해야하는데 신경망은 가능

복잡한 네트워크 구조가 있기 때문에 가능하다.

그다음에는 손실을 계산하는 작업을 수행

퍼셉트론으로 본다면

출력이 나왔을 때 어떻게 업데이트 해야하는가.

네트워크를 쭉 거쳐서 출력 레이어(층) 의 값을 어떻게 해석해서 손실을 최소화하는 가중치 업데이트를 할 것인가.

손실에 대한 정의도 잘 알려져 있는 함수들을 가지고 사용하도록 만들어 놓음.

그래서 손실함수 회귀에 대해서는 평균제곱 오차

출력값하고 실제 값하고의 차이

1/2은 미분을 편하게 하는 상수

회귀에는 평균 제곱 오차 함수로 손실을 계산

분류인 경우에는 확률을 출력했는데 확률에 대해서 연산량이 높은 손실함수에선는 교차 엔트로피 함수를 사용한다.

기울기 계산하고 손실 최적화

==> 코드

network.compile(loss="categorical_crossentropy",

optimizer='rmsprop', # 옵티마이저

metrics=['accuracy']) # 성과 지표

범주형, 다중 분류형이어서 categorical_crossentropy 손실 함수를 사용한다.

손실을 가지고 최적화하는 도구로 RMS prop에 대해서 할 것

다음 시간에는 간단한 네트워크를 할 것.

3가지 작업을 진행할 것. ① 단순 분류, 이진 분류체계

②다중 분류 작업 처리

③회귀 처리

---(쉬는시간)---

pip install --upgrade tensorflow

b.b-clssification.ipynb

calssification 분류

뉴런이 만들어지려면 가중치를 준비해야함. 입력개수를 알려줘야 가중치를 준비할 수 있음.

일단

학습률

w값 이동시켜야하는데 얼마나 이동시킬까. 조금 이동시킬지 많이 이동시킬지를 결정하는 값이 학습률


내일 조금 더 이어서 하고

오후부터 CNN RNN 할 것.

출력은 회귀인지 분류인지 따라서 다른 함수

평균 제곱오차 바이너리

교차 엔트로피 오차 카테고리

미니 배치 학습

에폭, 배치

 

딥러닝이란 / 성장 배경/ Tensorflow 설치 / Google Colaboratory / 신경망/ 단층 퍼셉트론 / 활성화 함수/ 가중치/ 손실함수