반응형

Deep Learning 17

딥러닝 OpenCV실습

충돌 방지를 위해 jupyter 3.7버전으로 anaconda에서 만들어서 실행 # 파이썬 버전 확인 import sys print(sys.version) 3.7.13 (default, Mar 28 2022, 08:03:21) [MSC v.1916 64 bit (AMD64)] OpenCV 개요 Computer Vision : 사람의 시작적인 부분을 기계로 구현하는것을 목적으로 하는 딥러닝 분야 이미지, 동영상 등의 처리를 지원하는 라이브러리 C++로 제작되어 있고 Java, Android, Python 등 다양한 언어에서 구현 가능 특히 Python에서 OpenCV를 사용할 경우 Numpy, Matplotlib 등의 라이브러리들과 바로 연동 가능 유용한 OpenCV 사이트 https://opencv.or..

로이터 뉴스 카테고리 분류 실습(RNN, LSTM)

목표 영국의 가장 오래된 뉴스 통신사인 로이터의 '기사내용'이 들어가면 어떤 '주제'인지 카테고리를 예측해보자 import numpy as np import pandas as pd import matplotlib.pyplot as plt # 로이터 뉴스 데이터 임프토 from tensorflow.keras.datasets import reuters data = reuters.load_data() data (X_train, y_train), (X_test,y_test) = data print(X_train.shape) print(y_train.shape) print(X_test.shape) print(y_test.shape) (8982,) (8982,) (2246,) (2246,) # 실제 뉴스 기사의 단..

RNN모델

머신러닝 텍스트 마이닝과 같이 문장을 의미단위로 하나씩 끊어서 입력한다. RNN 모델은 기존의 데이터를 기억해서 새로운 데이터와 같이 합쳐서 연산을 진행한다. (순환) t : 현재시간 f: 가중치 relu는 음수 일때 0값이기 때문에 RNN에서 이전 데이터가 음수이면 0으로 값을 전달 할 수 없어서 RNN에서 relu를 쓰지 않고 tanh를 쓴다 units는 생략가능 이전(CNN등) RNN hello를 SimpleRNN신경망으로 학습하기 목표 간단한 데이터를 직접 만들어서 RNN의 구조를 익혀보자 import numpy as np import pandas as pd import matplotlib.pyplot as plt 데이터셋 구축하기 문자 하나하나를 단위로 RNN을 사용해보자 hello, apple..

딥러닝 다중분류 모델 (3가지 동물 분류) - MLP, CNN, 데이터 확장 예제

이미지 크롤링 # !pip install selenium from selenium import webdriver as wb # 브라우저를 조작하는 도구 from selenium.webdriver.common.keys import Keys # 키 입력을 도와주는 도구(키보드) from bs4 import BeautifulSoup as bs # 문서를 파싱해서 선택자 활용을 도와주는 도구 from tqdm import tqdm # 반복문 진행 정도를 시각화해주는 도구 from urllib.request import urlretrieve # 이미지 다운로드를 도와주는 도구 import time # 시간제어 도구 import os # 폴더 생성,삭제,이동 등을 도와주는 도구 keyword = "수달" # 이미지..

CNN

CNN: Convolutional Neural Network MLP(Mutlilayer perceptrone) 다층퍼셉트론이 이미지의 위치에 따라 다른 이미지로 판단하는 문제 5가 한픽셀 왼쪽으로 갔는데 인식은 전부 흰색으로 하게된다. 문제들을 해결하기위한 CNN모델 모든 데이터를 확인하는게 아니라 특징이 되는 부분만 확인하는 CNN 이미지의 특징을 보고 부각시키는 -> conv Layer 특징이외의 필요없는 부분 삭제하는 역할 -> Pooling Layer 특징외의 필요없는 부분을 제거하면서 이미지의 특징점만 가지고 크기가 점점 작아진다 MLP 뉴런(연산 후 활성화함수에 값을 넘겨줄 것인지 판단)->활성화함수 CNN Conv(연산 후 활성화함수에 값을 넘겨줄 것인지 판단) -> 활성화함수 ->Pooli..

활성화함수, 최적화함수 비교 및 최적화 모델 찾기

활성화함수, 최적화함수비교 (패션데이터) import numpy as np import pandas as pd import matplotlib.pyplot as plt from tensorflow.keras.datasets import fashion_mnist data = fashion_mnist.load_data() data (X_train, y_train),(X_test, y_test) = data print(X_train.shape) print(y_train.shape) print(X_test.shape) print(y_test.shape) (60000, 28, 28) (60000,) (10000, 28, 28) (10000,) 정답데이터 원핫인코딩 y_train_one_hot = pd.get_du..

활성화함수, 최적화 함수

오차 역전파를 통해 y=wx+b에서 w와 b의 값을 개선해 나가는데 -> 이게 경사하강법 H(x)예측값 y 실제값 -> 이를 빼서 제곱후 더하고 나눈것 평균제곱오차(mse) 예측값H(x)안에 활성함수h(x)가 들어있는 합성함수형태 f(g(x))의 미분 -> f ' (g(x)) x g'(x) 따라서 활성함수의 기울기가 지속적으로 곱해지는데 sigmoid의 최대값이 0.3이라 곱해지는 기울기값이 결국 0으로 수렴하게 되고 앞쪽의 뉴런들이 0값을 받고 오차가 없다고 판단하게 된다. 이러한 이유로 중간층에 sigmoid함수를 쓰지 않는다. 하이퍼볼릭 탄젠트는 시그모이드 보다는 좋지만 -> 중간층이 많으면 결국 기울기 소실 문제가 발생한다 렐루 : 0보다 작은값일때는 -> 0 이 뜻은 음수의 값이 들어오면 옆의 ..

사람 얼굴 이진분류 모델 생성

목표 재우, 감중 얼굴을 분류하는 이진 분류 신경망 모델을 만들어보자 import numpy as np import pandas as pd import matplotlib.pyplot as plt from PIL import Image # PIL : 이미지를 불러오는 라이브러리 # convert -> L : 흑백, RGB : 컬러 img = Image.open("/content/drive/MyDrive/Colab Notebooks/빅데이터 13차(딥러닝)/Data/Class 1-samples/0.jpg").convert('L') img # numpy 배열로 이미지 데이터를 변환(기계가 인식할 수 있또록 데이터를 수치화 시켜줌) # 이미지의 크기에 맞게 가로, 세로 픽셀수로 수치화가 됨..

이미지 데이터 분류

기존에는 행과 열로 이루어진 table형태의 데이터를 썼다. 특성은 table의 열의 개수 였다. 이미지 데이터는 픽셀하나하나가 특성 -> 1920 X 1080 해상도의 이미지가 약 2,000,000개의 특성의 개수를 가진다 딥러닝 손글씨 이미지 데이터 분류 import numpy as np import pandas as pd import matplotlib.pyplot as plt # keras에서 지원하는 딥러닝 학습용 손글씨 데이터셋 임프토(국립표준기술원(NIST)의 데이터셋을 수정(Modified)해서 만든 데이터 셋) from tensorflow.keras.datasets import mnist data = mnist.load_data() data ((array([[[0, 0, 0, ..., 0..

반응형