본문 바로가기

728x90

머신러닝 + 딥러닝

(24)
딥러닝 : 이미지를 위한 인공 신경망 전 시간에서 사용한 밀집층에는 뉴런마다 입력 개수만큼의 가중치가 있었다 모든 입력에 가중치를 곱하는 것이다 인공 신경망은 처음에 가중치 w1~w10과 절편 b를 랜덤하게 초기화한 다음 에포크를 반복하면서 경사 하강법 알고리즘을 사용하여 손실이 낮아지도록 최적의 가중치와 절편을 찾아가는 과정을 거치며 모델 훈련을 한다 합성곱(convolution) - 수학에서는 하나의 함수와 또 다른 함수를 반전 이동한 값을 곱한 다음, 구간에 대해 적분하여 새로운 함수를 구하는 것 합성곱은 입력 데이터 전체에 가중치를 적용하는 것이 아니라 일부에 가중치를 곱한다 위 그림에서는 뉴런의 가중치가 3개씩 곱해지므로 총 8개의 출력이 만들어진다 합성곱 신경망(convolutional neural network, CNN) : 행..
딥러닝 어떻게 하는거지(인공신경망) 1. 딥러닝과 머신러닝 차이, 그래서 딥러닝이 뭔데? 2. 로지스틱 회귀 복습 3. 인공신경망에 대해 알아보자 4. 심층 신경망 5. 신경망 모델 훈련 최대한 간단간단하게 하자 머신러닝이 뭐였더라? 머신러닝은 데이터를 구문 분석하고 해당 데이터를 통해 학습한 후 정보를 바탕으로 결정을 내리기 위해 학습한 내용을 적용하는 알고리즘 즉, 주어진 데이터로 기능을 수행하고, 시간이 지남에 따라 그 기능이 점차 향상되는것 그럼 딥러닝은? 딥러닝은 머신러닝의 하위 개념!!으로 인공신경망이라고도 한다 그럼 인공신경망은 뭘까? 우리 뇌에 있는 신경세포인 뉴런을 수학적으로 모델링한 것 인공신경망 뉴런은 뇌의 뉴런처럼 다른 여러개의 뉴런으로부터 입력값을 받아서 외부로 출력값을 내보내는 것이다 저번 시간에 봤던 걸 살펴보자..
머신러닝 | 딥러닝 패션 MNIST 운동화, 셔츠, 샌들과 같은 작은 이미지들의 모음이며 28*28 픽셀의 이미지 7만개로 이루어져 있다. 텐서플로의 케라스(Keras) 패키지를 임포트하고 패션 MNIST 데이터를 다운로드한다. from tensorflow import keras (train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data() keras.datasets.fashion_mnist 모듈 아래 load_data() 함수는 훈련 데이터의 입력과 타깃의 쌍, 테스트 데이터의 입력과 타깃 쌍을 반환해준다. 더보기 만약, 시험을 보기 전에 출제될 시험 문제와 정답을 미리 알려주고 시험을 본다면 어떻게 될까? 누..
[혼공딥] CHAPTER 09-1 순차 데이터와 순환 신경망 순차 데이터(sequential data) : 텍스트나 시계열 데이터(time series data)와 같이 순서에 의미가 있는 데이터 완전 연결 신경망이나 합성곱 신경망은 하나의 샘플(하나의 배치)을 사용하여 정방향 계산을 수행하고 나면 그 샘플은 버려지고 다음 샘플을 처리할 때 재사용하지 않는다 -> 피드포워드 신경망(feedforward neural network, FFNN) : 입력 데이터의 흐름이 앞으로만 전달되는 신경망 순환 신경망(recurrent neural network, RNN) : 신경망이 이전에 처리했던 샘플을 다음 샘플을 처리하는데 재사용하기 위해서, 이전 데이터가 신경망 층에 순환될 필요가 있다. 완전 연결 신경망에 이전 데이터의 처리 흐름을 순환하는 고리를 추가하면 된다 뉴런의..
[혼공딥] CHAPTER 08-3 합성곱 신경망의 시각화 합성곱 층이 이미지에서 어떤 것을 학습했는지 알아보기 위해 합성곱 층의 가중치와 특성 맵을 그림으로 시각화해보자 합성곱 층은 여러 개의 필터를 사용해 이미지에서 특징을 학습한다. 각 필터는 커널이라 부르는 가중치와 절편을 가지고 있는데, 일반적으로 절편은 시각적으로 의미가 있지 않다 가중치는 이미지의 2차원 영역에 적용되어 어떤 특징을 크게 두드러지게 표현하는 역할을 한다 2절에서 만든 모델이 어떤 가중치를 학습했는지 확인하기 위해 체크포인트 파일을 읽어들이자 from tensorflow import keras model = keras.models.load_model('best-cnn-model.h5') model.layers 케라스 모델에 추가한 층은 layers 속성에 저장되어 있다 [, , , , ..
[혼공딥] CHAPTER 08-2 합성곱 신경망을 사용한 이미지 분류 1. 패션 MNIST 데이터 불러오기 from tensorflow import keras from sklearn.model_selection import train_test_split (train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data() train_scaled = train_input.reshape(-1, 28, 28, 1) / 255.0 #48000개, 너비28, 높이28, 채널차원 1 #train_scaled = train_input.reshape(-1, 28, 28, 1) #train_scaled = train_scaled / 255.0 train_scaled, val_scale..
[머신러닝] 결정트리를 이용한 이미지 분류 어떤 사람 머리에서 나온 멋진 아이디어 : 결정 트리로 이미지 분류하기 1. MNIST dataset of handwritten digits import tensorflow as tf from tensorflow import keras from tensorflow.keras.layers import (Dense, BatchNormalization, Dropout) from tensorflow.keras.datasets.mnist import load_data import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_digits digits = load_digits() impo..
[혼공딥] CHAPTER 08-1 합성곱 신경망의 구성 요소 합성곱(convolution) - (수학) 하나의 함수와 또 다른 함수를 반전 이동한 값을 곱한 다음, 구간에 대해 적분하여 새로운 함수를 구하는 것 인공 신경망 합성곱 - 가중치 w1~w10과 절편 b를 랜덤하게 초기화한 다음 에포크를 반복하면서 경사 하강법 알고리즘을 사용하여 손실이 낮아지도록 최적의 가중치와 절편을 찾아간다. - 입력 개수에 상관없이 밀집층의 뉴런의 개수와 출력의 개수가 같다. - 입력 데이터 전체에 가중치를 적용하는 것이 아니라 일부에 가중치를 곱한다. - 뉴런이 3개의 가중치를 가진다고 가정하면, 가중치 w1~w3이 입력의 처음 3개 특성과 곱해져서 1개의 출력을 만든다. - 같은 가중치와 절편이 여러 개의 합성곱에 사용된다. 밀집층의 뉴런은 입력 개수만큼 10개의 가중치를 가지..

728x90