아래 글에 이어 작성된 글입니다. [인공지능] 하이퍼 파라미터 (에포크/배치/학습률/옵티마이저/손실함수/활성화함수) 아래 글에 이어 작성된 글입니다. [인공지능] 다층 퍼셉트론 (MLP)과 역전파 알고리즘 아래 글에 이어 작성된 글입니다. [인공지능] 인공신경망의 시작, 퍼셉트론 아래 글에 이어 작성된 글입니다. munak.tistory.com 심층신경망인 DNN과 관련 개념들에 대해 다룬 뒤 Keras로 실습합니다. 심층 신경망(DNN) : Deep Neural Networks DNN이란 MLP에서 은닉층의 개수를 증가시킨 형태로 여러 개의 은닉층을 가진 신경망을 말합니다. Deep이라는 이름에 걸맞게 몇십 개의 은닉층을 사용하는 모델들이 많습니다. 이런 DNN의 학습 알고리즘을 딥러닝이라고 부릅니다...
[딥러닝 express]의 연습문제 7장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) 08. 케라스를 이용하여, 우리가 5장에서 학습한 초기 신경망인 퍼셉트론을 구현할 수 있을까? 케라스를 이용해서는 구현할 수 없다. 퍼셉트론의 경우 활성화 함수로 계단 함수를 사용하기 때문이다. 계단함수는 0값 에 대한 미분이 불가능해 미분 함수가 정의되지 않는다. 때문에 Keras가 사용하는 경사 하강법과 동시에 사용할 수 없다. 계단함수를 사용하고자 한다면 상위에서 작동하는 텐서플로우에서 활성화 함수에 대한 그래디언트를 따로 정의해 사용해야 한다. (tf.custom_gradient) 09. 케라스를 이용하여, 은닉층이 2개인 MLP를 생성해보자. 은닉층이 2개인 MLP를 이용하여, MNIST 숫자들..
Keras의 Sequential 모델을 사용해 MNIST 숫자를 학습시키고 테스트합니다. Google의 Colab 환경에서 실행합니다. Google Colaboratory colab.research.google.com Sequential 모델 Sequential 모델은 피드포워드 신경망(입력신호가 한방향으로 전달되는 신경망) 을 구현하는 가장 기초적인 모델입니다. 지원하는 여러 메소드들을 이용해 신경망을 구현하고 학습시킬 수 있습니다. Keras documentation: The Sequential model » Developer guides / The Sequential model The Sequential model Author: fchollet Date created: 2020/04/12 Last ..
[딥러닝 express]의 연습문제 6장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) 01. 신경망에서는 다양한 활성화 함수가 사용된다. 어떤 활성화 함수들이 사용되는가? 각 활성화 함수들의 특징은 무엇인가? 계단함수 (step function) 입력 신호의 총합이 0을 넘으면 1을, 아니라면 0을 출력합니다. 0에서 미분되지 않습니다. 시그모이드 함수 (sigmoid function) 1980년대부터 사용되어온 전통적인 활성화 함수로 s자 형태의 곡선 형태를 가지며, 출력이 0.0에서 1.0의 연속적인 실수기 때문에 정밀한 출력이 가능하다는 장점이 있습니다. 하지만 입력값이 작아지거나, 커질수록 기울기가 0에 가까워지며 그래디언트 소실 문제가 발생합니다. ReLU 함수 (Rectifed..
[인공지능] 다층 퍼셉트론 (MLP)과 역전파 알고리즘 아래 글에 이어 작성된 글입니다. [인공지능] 인공신경망의 시작, 퍼셉트론 아래 글에 이어 작성된 글입니다. [인공지능] 머신러닝과 인공신경망 아래 글에 이어 작성된 글입니다. [인공지능] 전 munak.tistory.com Numpy를 이용해 역방향전파을 구현합니다. 역방향 전파 XOR연산을 역방향 전파 계산하여 EPOCH가 증가함에 따라 MSE가 어떻게 감소하는지 그래프로 출력하여라. 가중치와 바이어스는 np.random.rand()를 사용해 [0, 1)범위의 난수로 초기화 하고 학습률은 0.2로 epoch는 10000으로 설정하여 학습을 진행하였습니다. import numpy as np import matplotlib.pyplot as plt ..
[딥러닝 express]의 연습문제 4장 풀이입니다. (개인적인 풀이기에 오답이 있을 수 있습니다!) 01. 선형 회귀는 주로 독립 변수와 종속 변수 간에 선형적인 관계가 성립할 때 많이 사용된다. 다음중에서 선형 회귀로 예측하기 어려운 문제는 어떤 문제인가? (a) 온도와 출생률 (b) 공부 시간과 성적 (c) 체중과 달리기 기록 답 : 체중과 달리기 기록 어느 정도 체중을 적게 유지하면 달리기에 유리한 것은 맞으나, 무조건적으로 체중이 적게 나간다고 해서 달리기 기록이 향상되는 것은 아니다. 같은 체중이어도 선천적인 몸의 형질이나, 훈련정도에 따라 기록이 천차 만별이기 때문이다. 즉, 체중과 달리기 기록은 독립 변수와 종속 변수간 선형적인 관계가 성립하지 않기 때문에 선형회귀로 예측하기 어렵다. 02..
[인공지능] 머신러닝과 인공신경망 (feat. 분류, 회귀) 아래 글에 이어 작성된 글입니다. [인공지능] 전문가 시스템과 지식 아래글에 이어 작성된 글입니다. [인공지능] 탐색 아래글에 이어 작성된 글입니다. [인공지능] 인공지능과 딥러닝 [인공지능 munak.tistory.com [인공지능] Numpy 기본 사용 + 딥러닝 express 연습문제 2장 아래 글에 이어 작성된 글입니다. [인공지능] 딥러닝과 Python 라이브러리 본격적으로 인공지능을 실습하기 전 Python의 여러 라이브러리를 소개합니다. Python(파이썬)은 머신러닝 프로젝트의 언어 munak.tistory.com Scikit-learn을 사용한 기본 분류 예제 코드입니다. Numpy만으로 퍼셉트론을 구현한 후 Sklearn의 성..
[인공지능] Numpy 기본 사용 + 딥러닝 express 연습문제 2장 아래 글에 이어 작성된 글입니다. [인공지능] 딥러닝과 Python 라이브러리 본격적으로 인공지능을 실습하기 전 Python의 여러 라이브러리를 소개합니다. Python(파이썬)은 머신러닝 프로젝트의 언어 munak.tistory.com Numpy만을 이용해 경사하강법을 구현합니다. import numpy as np import matplotlib.pyplot as plt X = np.array([0.0, 1.0, 2.0]) y = np.array([3.0, 3.5, 5.5]) W = 0 # 기울기 b = 0 # 절편 lrate = 0.01 # 학습률 epochs = 1000 # 반복 횟수 n = float(len(X)) # 입력 ..