반응형

AI/DeepLearning 13

딥러닝_다중 분류 , 선형 회귀, 로지스틱 회귀에 따른 activation, loss 설정

딥러닝 layers 라이브러리 불러오기 from tensorflow.keras.layers import Dense, Dropout ▪분류 모델 model.add(Dense(3, activation='softmax')) model.compile(loss='categorical_crossentropy', metrics=['accuracy'], optimizer='adam') ▪ 선형 회귀 model.add( Dense(1, activation='linear')) model.compile(loss='mse', optimizer='adam', metrics=['mse', 'mae']) ▪ 로지스틱 회귀 model.add(Dense(1, activation='sigmoid')) model.compile(loss=..

AI/DeepLearning 2023.04.11

자연어 처리를 위한 텍스트 전처리 - 3. 단어 임베딩

원핫 인코딩을 그대로 사용하면 벡터의 길이가 너무 길어진다. ex) 1만 개의 단어 토큰으로 이루어진 말뭉치를 다룬다고 할 때, 이 데이터를 원핫인코딩으로 벡터화하면 9,999의 0과 하나의 1로 이루어진 단어 벡터를 1만 개나 만들어야 한다. 공간적 낭비를 해결하기 위한 방법을 알아보자 3. 단어 임베딩 단어 임베딩(word embedding) : 주어진 배열을 정해진 길이로 압축시킨다. 각 단어 간의 유사도를 계산한다. ex) tiger, dolphin / sad, bad / cat, dog / good, happy => 각 배열을 새로운 수치로 바꾸어줌 from tensorflow.keras.layers import Embedding model = Sequential() model.add(Embed..

AI/DeepLearning 2023.04.02

자연어 처리를 위한 텍스트 전처리 - 2. 원-핫 인코딩

단어의 문장의 다른 요소와 어떤 관계를 가지고 있는지 알아보는 방법이 필요하다. 2. 원-핫 인코딩 : 각 단어를 모두 0으로 바꾸어 주고 원하는 단어만 1로 바꾸어 주는 것 1. 토큰화 함수를 불러와 단어 단위로 토큰화, 각 단어의 인덱스 값을 출력 2. 토큰의 인덱스로만 채워진 새로운 배열 만들기 ▪ texts_to_sequences() 3. 원-핫 인코딩 ▪ to_categorical() : 0과 1로만 이루어진 배열로 바꾸기 ※ 배열 맨 앞에 0이 추가되므로 단어 수보다 1이 더 많게 인덱스 숫자를 잡아 줘야함 ! 결과 : 자연어 처리를 위한 텍스트 전처리 - 1. 텍스트의 토큰화 자연어 : 우리가 평소에 말하는 음성이나 텍스트를 의미한다. 자연어 처리(Natural Language Process..

AI/DeepLearning 2023.04.02

자연어 처리를 위한 텍스트 전처리 - 1. 텍스트의 토큰화

자연어 : 우리가 평소에 말하는 음성이나 텍스트를 의미한다. 자연어 처리(Natural Language Processing, NLP) : 음성이나 텍스트를 컴퓨터가 인식하고 처리하는 것이다. 자연어 처리를 위한 텍스트 전처리 과정 1. 텍스트의 토큰화 토큰(token) : 입력할 텍스트를 단어별, 문장별, 형태소별로 나눌 수 있는데, 이렇게 작게 나누어진 하나의 단위 토큰화(tokenization) : 입력된 텍스트를 잘게 나누는 과정 ▪ text_to_word_sequence() : 단어 단위로 쉽게 나눌 수 있다. from tensorflow.keras.preprocessing.text import text_to_word_sequence "해보지 않으면 해낼 수 없다" 라는 텍스트를 전처리하겠다. ▪..

AI/DeepLearning 2023.04.01

이미지들을 배열 데이터셋으로 만들기

(1, 280, 280, 3)의 사이즈를 가지는 이미지를 쌓아 올리는 작업을 할거다. 우선, 함수들에 대해 알아보자. ▪ np.expand_dims : 차원을 확장해준다. import numpy as np # 2차원 배열 생성 arr = np.zeros((280, 280)) # 3차원으로 변경 arr = np.expand_dims(arr, axis=-1) # 마지막 차원에 1차원 추가 arr = np.repeat(arr, 3, axis=-1) # 마지막 차원을 3차원으로 확장 print(arr.shape) # (280, 280, 3) 비슷한 함수 : np.broadcast_to np.broadcast_to(img_arr, (280, 280, 3)) ▪ np.add a = np.array([1, 2, 3]..

AI/DeepLearning 2023.03.31

CNN을 이용한 MNIST 데이터셋 모델링 과정

Conv2D, max pooling, Dropout, Flatten CNN 개념 이미지 인식과 음성 인 식 등 다양한 곳에서 사용되는데, 특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의 다 CNN을 기초로 한다. ‘합성곱 계층 Conv ’과 ‘풀링 계층 Pooling ’이 oaho.tistory.com MNIST 데이터셋의 손글씨 숫자 인식 코랩에서 진행 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D from tensorflow.keras.callbacks import ModelCheckpoint, EarlyStop..

AI/DeepLearning 2023.03.17

Conv2D, max pooling, Dropout, Flatten

CNN 개념이미지 인식과 음성 인 식 등 다양한 곳에서 사용되는데, 특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의 다 CNN을 기초로 한다. ‘합성곱 계층 Conv ’과 ‘풀링 계층 Pooling ’이 추가된oaho.tistory.com 여기에서 사용하는 합성곱 계층은 모두 3×3 크기의 작은 필터로, 층이 깊어지면서 채널 수가 더 늘어나는 것이 특징이다.(합성곱 계층의 채널 수는 앞 계층에서부터 순서대로 16, 16, 32, 32, 64, 64로 늘어간다.) 또 그림과 같이 풀링 계층을 추가하여 중간 데이터의 공간 크기를 점차 줄여간다. 그리고 마지막 단의 완전연결 계층에서는 드롭아웃 계층을 사용한다. 가중치 초깃값으로 He 초깃값을 사용하고, 가중치 매개변수 갱신에는 Adam을 이용한다. ▪..

AI/DeepLearning 2023.03.17

CNN 개념

이미지 인식과 음성 인 식 등 다양한 곳에서 사용되는데, 특히 이미지 인식 분야에서 딥러닝을 활용한 기법은 거의 다 CNN을 기초로 한다. ‘합성곱 계층 Conv ’과 ‘풀링 계층 Pooling ’이 추가된다. ‘ Conv-ReLU-(Pooling )’ 흐름으로 연결된다. (풀링 계층은 생략하기도 한다.) 기존에 구조들(완전 연결 계층)의 단점 : 형상을 무시하고 모든 입력 데이터를 동등한 뉴런(같은 차원의 뉴런)으로 취급하여 형상에 담긴 정보를 살릴 수 없다. But 합성곱 계층은 형상을 유지한다. 이미지도 3차원 데이터로 입력 받으며, 마찬가지로 다음 계층에도 3차원 데이터로 전달한다. => CNN에서는 이미지처럼 형상을 가진 데이터를 제대로 이해할 (가능성이 있는)것이다. 특징 맵(feature m..

AI/DeepLearning 2023.03.14

multi-input & Concatenate layer / Add layer

Modeling : multi-input & Concatenate layer 💡 Setosa, Versicolor, Virginica 품종을 예측하기 꽃잎, 꽃받침의 Length, Width 의 특징으로 품종을 구별한다. -> train 데이터를 Length, Width끼리 묶는다. 모델링 과정 🔸 Length끼리, Width끼리 train_x_length = train_x.loc[:, ['sepal length', 'petal length']] train_x_width = train_x.loc[:, ['sepal width', 'petal width']] test_x_length = test_x.loc[:, ['sepal length', 'petal length'] ] test_x_width = tes..

AI/DeepLearning 2023.03.06

딥러닝 파라미터, 라이브러리 정리

🔷 딥러닝 파라미터 정리 선형 회귀 로지스틱 회귀 멀티클래스 분류 output layer activation X (or linear) sigmoid softmax loss mse binary_crossentropy categorical crossentropy 🔷 라이브러리 불러오기 import tensorflow as tf from tensorflow import keras 🔹 train set / test set 구분하기 from sklearn.model_selection import train_test_split 🔹 One-hot Encoding from tensorflow.kears.utils import to_categorical 🔹 모델 시각화 from tensorflow.keras.utils ..

AI/DeepLearning 2023.03.06
반응형