반응형

인공지능 18

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fr9WRG%2FbtqXU4yq1Ag%2FsBE4YKlgUuSYOepxK8Dyw1%2Fimg.png')"

[순환 신경망] LSTM, GRU

LSTM은 RNN의 변형이고, GRU는 LSTM의 변형이라고 할 수 있습니다. RNN Cell의 문제점 1. BPTT(BackPropagation Through Time)의 문제점 RNN에서의 역전파 방법인 BPTT는 아래의 그림과 같이 모든 타임스텝마다 처음부터 끝까지 역전파합니다. 그렇기 때문에 타임 스텝이 클 경우 RNN을 위와 같이 펼치게 되면 매우 깊은 네트워크가 됩니다. 이러한 네트워크는 vanishing & exploding gradient 문제가 발생할 가능성이 큽니다. 또한 계산량이 많기 때문에 한 번 학습하는데 아주 오랜 시간이 걸린다는 문제가 있습니다. Truncated BPTT -BPTT의 문제를 해결하기 위해 등장한 방법입니다. -아래 그림과 같이 타임 스텝을 일정 구간(일반적으로..

인공지능 2021.02.19

[Keras] to_categorial 함수

to_categorial 함수 -keras.utils.np_utils 패키지에 있는 to_categorial 함수는 one_hot 인코딩을 해주는 함수입니다. one-hot 인코딩은 10진 정수 형식을 특수한 2진 바이너리 형식으로 변경하는 것입니다. 파라미터로 값에 크기만큼 0으로 된 배열을 만들고, 파라미터 값 위치에만 1(hot)을 넣어줍니다. -to_categorial 함수의 첫 번째 인자는 파라미터 값의 위치(1이 들어갈 위치), 두 번째 인자는 배열의 크기, 세 번째 인자는 데이터 타입을 나타냅니다. import pandas as pd import tensorflow as tf ##########데이터 로드 #hour, attendance, grade df = pd.DataFrame([ [2,..

인공지능 2021.02.19

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdh6s1v%2FbtqXBXGxQGZ%2FohqyRVWZujHi9claXN2kVk%2Fimg.png')"

[모두를 위한 딥러닝1] NN의 꽃 RNN 이야기(8주차)

Sequence data -이야기를 들을 때, 어떤 단어를 이해하기 위해서는 이전에 사용한 단어들을 바탕으로 이해할 수 있습니다. -NN/CNN은 하나의 입력에 대해 하나의 출력을 나타내는 간단한 형태이기 때문에 위와 같은 시리즈 데이터(순차적으로 처리하는 데이터)를 처리하기 불편합니다. x: 입력값, h: 출력값 위와 같은 series data는 이전 데이터가 다음 연산에 영향을 미치는 구조로 되어있습니다. RNN(Recurrent Neural Network) RNN의 구조 현재 state의 연산 결과를 자기 자신에게 다시 입력하는 구조입니다. 이런 형태를 통해 y값을 출력해냅니다. RNN의 계산 방법 -x라는 입력값과 바로 이전의 RNN state 값을 입력값으로 어떤 function에 대입하여 새로..

인공지능 2021.02.17

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb51XDF%2FbtqWX6jzNoz%2FcLWutsapovaYdjvQsAlN0k%2Fimg.png')"

[모두를 위한 딥러닝1] 여러가지 CNN 알고리즘(7주차_2)

LeNet-5 처음 Convolutions 과정에서 6개의 이미지를 만들어내고, 각각의 이미지를 Subsampling합니다. 해당 과정을 여러 번 반복하는 과정을 통해 output을 산출해냅니다. AlexNet 첫번째 layer 227x227x3 이라는 매우 큰 사이즈의 이미지를 사용합니다. 필터는 11x11x3 사이즈 96개를 사용하며, stride는 4로 합니다. 96개의 필터를 사용했으므로 depth는 96이 됩니다. 그리고 사이즈 55x55의 이미지가 산출되므로 output은 55x55x96이 됩니다. 두번째 layer 3x3 사이즈의 필터를 사용하고, stride는 2로 합니다. output은 27x27x96이 됩니다. 여러 번의 layer를 거치는 과정을 나타내주고 있습니다. CONV: con..

인공지능 2021.02.14

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjbSdP%2FbtqXgoWVV0d%2FvDMjv3M07bZ2caWNQodVOK%2Fimg.png')"

[모두를 위한 딥러닝1] Convolutional Neural Networks(CNN)(7주차_1)

CNN(Convolutional Neural Networks) FC: Fully Connected Neural Network 32x32x3 사이즈의 이미지를 5x5x3 사이즈의 필터로 쪼갭니다. 그러면 쪼갠 부분을 하나의 값으로 정합니다. 필터가 하는 일: 5x5 부분을 x로 정하고 x 부분에서 하나의 값을 뽑아냅니다. one number를 어떻게 뽑아내는가? $\bar{y} = w_1x+w_2x+w_3x+w_4x+...+b$ w(weight): one numer를 결정하는 요소가 됩니다. How many numbers can we get? 7x7 사이즈의 공간에서 3x3 사이즈의 필터로 값을 하나 골라냅니다. 그리고 필터를 옆으로 한 칸씩 이동하며 계속 값을 하나씩 골라냅니다. 옆으로 끝까지 이동한 후..

인공지능 2021.02.14

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FX8gT6%2FbtqVIKHON7j%2F3biI2eTOk3v4G2sXfMWO6k%2Fimg.png')"

[모두를 위한 딥러닝1] Weight의 초기값 설정하기(6주차_2)

w 값을 0으로 설정하면 미분값도 0이 되므로 gradient 값이 사라지게 됩니다. 그러므로 w 값을 0으로 설정하면 안 된다는 것을 알 수 있습니다. 1. forward(encoder): x 데이터셋과 weight를 이용해서 출력값을 만들어냅니다. 2. backward(decoder): forward의 출력 결과와 forward에서 이용한 동일한 weight를 이용해서 거꾸로 값을 구합니다. 3. forward에서 이용한 x값과 2번에서 구한 x값을 비교합니다. 4. 두 x값의 차이가 최소가 되도록 weight 값을 조절합니다. Deep Belief Network 1. 처음 두 layer를 가지고 forward와 backward 과정을 통해 만들어낼 수 있는 weight를 학습시킵니다. 2. 다음 두..

인공지능 2021.02.04

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAIgeO%2FbtqVvO6mgMQ%2F2oMcF6H6kfZZ4HoyrbvOlK%2Fimg.png')"

[모두를 위한 딥러닝1] ReLU(6주차_1)

ReLU의 등장 배경 layer가 높아질수록 앞쪽의 기울기를 알기 힘들어집니다. 지금까지 sigmoid를 잘못 사용하고 있었다는 것을 알게 되고 새로운 방법을 도입하게 됩니다. ReLU(Rectified Linear Unit)의 등장 sigmoid는 항상 1보다 작은 값이므로, 이 값을 계속 곱해나가면 점점 작은 값이 됩니다. 그래서 1보다 큰 값을 사용하기 위해 등장한 것이 ReLU입니다. sigmoid가 사용되던 자리에 ReLU를 넣어줍니다. L1=tf.sigmoid(tf.matmul(X, W1)+b1) L1=tf.nn.relu(tf.matmul(X, W1)+b1) ReLU를 이용해서 layer를 계속 거쳐 나갑니다. 그러나 마지막에는 0~1사이의 값으로 출력을 내야하기 때문에 sigmoid를 한 번..

인공지능 2021.02.04

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdCEfHS%2FbtqUSp6kfMM%2FIFJaHAwxB42knK8xsdDh4k%2Fimg.png')"

[모두를 위한 딥러닝1] 딥 네트워크 학습(5주차)

XOR 문제 딥러닝으로 풀기 one logistic regression unit: XOR 문제를 해결할 수 없습니다. multiple logistic regression units -XOR 문제를 해결 가능합니다. -그러나 복잡한 네트워크가 들어가있는 각각의 weight과 bias의 학습이 불가능합니다. Neural Net 구성해보기 Forward propagation 다른 조합의 모델도 찾아보기! NN K=tf.sigmoid(tf.matmul(X, W1)+b1) hypothesis=tf.sigmoid(tf.matmul(K, W2)+b2) 그렇다면 training data로부터 W1, W2, B1, b2 값을 어떻게 알아낼 수 있을까? cost 값을 최소화하기 위해서는 시작점에서 차례대로 미분 값을 구하..

인공지능 2021.01.27

[Tensor Manipulation] Stack & Ones and Zeros like &Zip

Stack 축을 설정해주면 stack을 다양하게 이용할 수 있습니다. x=[1, 4] y=[2, 5] z=[3, 6] tf.stack([x, y, z]).eval() ->array([[1, 4], [2, 5], [3, 6]], dtype=int32) tf.stack([x, y, z], axis=1).eval() ->array([[1, 2, 3], [4, 5, 6]], dtype=int32) Ones and Zeros like ones_like: 요소를 전부 1로 만들어줍니다. zeros_like: 요소를 전부 0으로 만들어줍니다. x=[[0, 1, 2], [2, 1, 0]] tf.ones_like(x).eval() ->array([[1, 1, 1], [1, 1, 1]], dtype=int32) tf.ze..

인공지능 2021.01.23

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbWtpzk%2FbtqUBw4r7mg%2FIi3L61Pvi8SNm1BFLAnkC0%2Fimg.jpg')"

[ 다차원 배열의 축] Axis

다차원 배열 1차원 배열: x축만을 갖는 배열로, 벡터의 각 요소는 그 자체가 row입니다. 2차원 배열: x축과 y축을 갖는 배열로, depth가 1이라고 할 수 있습니다. 3차원 배열: x축, y축, z축을 모두 갖는 배열로, 각 컬럼은 벡터 형태를 가지며 이러한 벡터를 depth로 표현합니다. 4차원 이상의 배열: z축의 depth 요소가 스칼라가 아니라 벡터 이상의 자료형을 갖습니다. Numpy의 Sum 함수 작동 방식 arr=np.arrange(0, 32) len(arr) ->32 arr ->array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29..

인공지능 2021.01.23
반응형