딥러닝 (18) 썸네일형 리스트형 밑바닥부터 시작하는 딥러닝 5장 10. 시그모이드 계층 구현하기 밑바닥부터 시작하는 딥러닝 책 참고 목차 1. 시그모이드 함수란 2. 시그모이드 계층 수학식 3. 시그모이드 계층 클래스 생성 코드 (파이썬) 4. 시그모이드 클래스 객체화 시켜보기 1. 시그모이드(sigmoid) 함수란 시그모이드 함수는 0~1 사이의 함수이며, 입력값을 받아서 0~1 사이의 실수로 값을 반환하는 활성화 함수이다. 연속형 데이터이기 때문에 계단 함수가 끊기지 않는 매끄러운 모양으로 바뀐 것을 알 수 있다. 동시에 이상치가 들어온다 할지라도, 시그모이드 함수는 0과 1에 수렴하므로, 이상치 문제도 해결하면서, 연속된 값을 전달할 수 있다. 시그모이드 함수를 활성화 함수로 사용하면, 0과 1에 가까운 값을 통해 이진분류를 할 수 있다. (출력 값이 어느 값에 가까운지를 통해 어느 분류에 속.. 밑바닥부터 시작하는 딥러닝 5장-9 렐루함수 (p.165) 목차 1. 렐루 함수란 p.165 2.렐루함수 클래스 생성하기 위한 문법 3.copy모듈 4. x[x0 ,y=x) 역전파일때 그 값의 기울기를 보내고, 순전파일때 신호가 흐르지 않으면(즉, x 밑바닥부터 시작하는 딥러닝 5장 -7,8 - 덥셈, 곱셈 노드의 역전파(텐써플로우 포함) ■ 7. 덧셈노드의 역전파 아래는 덧셈노드의 순전파 그림이다. 이 그림의 역전파를 알아보자 역전파를 보면 상류층 L에서 미분되어 역전파로 흐르고 있다. aL/az( z에 대한 L의 미분) 여기서 그림 5-9 의 부분(덧셈노드)의 역전파를 살펴보면 합성함수 미분을 생각하면 된다. 상류층 미분 * 덧셈노드 미분 덧셈노드 미분은 z=x+y를 각각 x에 대해 미분, y에 대해 미분을 하니까 1이 나온다. 그래서 그림과 같이 덧셈노드에서 x로 흐르는 값과 y 로 흐르는 값이 똑같이 aL/az*1 이 된다. 덧셈노드 순전파와 역전파를 텐써플로우 코드 class AddLayer: def _init_(self): pass def forward(self,x,y): # 순전파 out= x+y return out def b.. (밑바닥부터 시작하는 딥러닝) 5장 -1 오차역전파법 수치 미분은 간단하지만 계산 시간이 오래 걸린다는 단점이 있다. 이러한 단점을 오차역전파법(backpropagation)을 통해 해결할 수 있다. 오차역전파법은 도함수에 값을 대입해서 미분계수(기울기)를 구하는 것이다. 신경망의 함수 사용 순서 1. 순전파 2. 역전파 순전파는 사과부터 -> 사과의 개수 -> 소비세 -> 가격 순 역전파는 그 반대 방향 역전파 역전파는 output에서 input 방향으로 진행한다. 역전파로 갈 때는 미분값을 활용한다. 4장 11 신경망 활용 사용자 인터 페이스 만들기 신경망을 활용하여 사용자 인터페이스를 만들어보자 목표: 고객들은 파이썬을 모릅니다. 그냥 이미지를 분류하는 화면(인터페이스)만 있으면 되기 때문에 사용할 수 있는 화면을 요청해옵니다. 1.GUI (Graphic user interface) 2. 홈페이지 (리액트) 구현방법 1. 오늘만든 fashion_model.h5 와 한장을 맞추는 파이썬 코드가 필요합니다. 2. 사용자 인터페이스를 생성하면 됩니다. #1. 게임화면을 구현하는 TKINTER 모듈을 임폴트 받습니다. (코랩에서 하면 안되고 , 로컬 컴퓨터에서 해야합니다) import tkinter as tk from tkinter import filedialog from tkinter import * ■ tkinter 코드를 실행파일(exe)로 변경하는.. 4장 10. fashion mnist 신경망에 사진 넣고 예측하는지 확인해보기 밑바닥부터 시작하는 딥러닝 4장 참고 # 사진한장 잘 맞추는지 확인하기 #1. 필요한 패키지 로드 import tensorflow as tf import cv2 #2. 이미지 있는 위치 저장 img_path = '/content/sample_data/ankleboot.png' # 앵커부츠사진 img = cv2.imread(img_path) # 이미지 숫자로 변환 코드 #img = cv2.bitwise_not(img) # 색 반전시키는 코드 (흰검) print(img.shape) # 3. 28 x28 로 reshape 합니다. import matplotlib.pyplot as plt resize_img = cv2.resize( img, (28, 28), interpolation = cv2.INTER_CUB.. 4장 9. 학습률(learning rate) p.132 밑바닥부터 시작하는 딥러닝 p.132 참고 학습률(learning rate) 이란? 한번의 학습으로 얼마만큼 매개변수(가중치와 바이어스)를 갱신할 지를 결정하는 하이퍼 파라미터 가중치 = 가중치 - 학습률*기울기 학습률을 잘 조절해야하는 이유 학습률이 너무 ↑ : 학습은 빠르지만 global minimum을 지나칠 수 있습니다. 학습률이 너무 ↓ : global minum을 지나칠 염려는 없지만 학습이 너무 느려서 수렴을 못합니다. [실습 ] 학습률이 너무 큰 경우와 작은 경우를 텐써플로우를 이용해 확인해보자 경사하강법은 RMSprop 을 사용하는 코드를 가지고 확인해보았다. 1. 학습률이 너무 큰 경우 ■ 기존의 코드에서 러닝레이트를 조절하는 부분 from tensorflow.keras import b.. 4강 8-2 경사하강법으로 필기체 데이터를 학습시켜보자 (텐써플로우) 텐써플로우를 이용하여 경사하강법으로 필기체 데이터를 학습시켜보자 1. SGD (확률적 경사하강법) #2. Adam 으로 필기체 데이터 학습시키는 텐써 플로우 코드 # 1. 필요한 패키지 가져오는 코드 import tensorflow as tf # 텐써 플로우 2.0 from tensorflow.keras.datasets.mnist import load_data # 텐써플로우에 내장되어있는 # mnist 데이터를 가져온다. from tensorflow.keras.models import Sequential # 모델을 구성하기 위한 모듈 from tensorflow.keras.layers import Dense,Flatten # 완전 연결계층을 구성하기 위한 모듈 from tensorflow.keras.ut.. 이전 1 2 3 다음