유튜브/대충 배우는 머신러닝 AI(영상삭제) 25

24 - Q Learning

Q-learning 이란 강화학습 학습기법 중에 하나입니다. 기존의 학습 모델 없이도 학습을 할 수 있는 방법입니다. 여러 방식으로 시도하여, 가장 가중치가 높은 방법을 찾는 방식인데 이 방식으로 하면, 새로운(더 좋은)방법을 찾는 것을 그만두는 문제가 발생합니다. 때문에, Exploit과 Exploration이라는 개념이 생기게 됩니다. 아는 길을 따라갈 때랑, 아는 길을 따라가지 않을 때로 구분해서 처리하는데 E-greedy 라는 개념을 사용합니다. import gym import numpy as np import matplotlib.pyplot as plt from gym.envs.registration import register import random as pr register( id='Fro..

23 - RL

Reinforcement Learning에 대해서 알아봅니다. 실제로 우리가 학습하는 과정이랑 비슷합니다. Agent가 어떤 행동을 했을 때, 잘 한 행동이면 +(reward)를 주면서 상태를 계속 지켜봅니다(observation). 이 행동의 반복을 통해서, reward를 많이 받은 행동이면 잘 했다고 판단을 합니다. 이 과정에서 openapi라는 강화학습을도와주는 라이브러리를 사용합니다.

20 - CNN 이란

CNN에 대해서 알아보겠습니다. 이미지의 일부분씩 잘라서 학습을 시키는 방법입니다. padding이라는 것을 이용해서 외곽쪽을 0으로 처리해서 layer를 만들어서 학습에 사용할 수 있습니다. 또한 pooling이라는 것을 이용하여 새롭게 layer를 만들 수 있습니다. pooling이라는 것을 사용해서 max pooling, mean pooling 등을 할 수 있습니다. 참조 [1] - https://www.youtube.com/watch?v=2-75C-yZaoA&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=36 [2] - https://medium.com/@hobinjeong/cnn-convolutional-neural-network-9f600dd3b395

18 - ReLU

ReLU에 대해서 알아보겠습니다. 딥러닝의 학습 과정 중에서, backpropagation에서 뒤로 갈 수록 sigmoid함수를 지나게 되면서 얘네들의 값이 1보다 작기 때문에, 0에 가까운 값이 되게 됩니다. 때문에 뒤로 갈 수록 값이 전달되지 못하는 문제가 생깁니다. 이럴 때 sigmoid를 사용하지 않고, ReLU라는 애를 사용해서 학습을 시킵니다. relu를 사용해서 backpropagation의 문제를 해결할 수 있습니다. sigmoid가 사용되는 곳에 relu를 적용시키면 끝입니다. :) 참조 [1] - http://hunkim.github.io/ml/

17 - Deep leanring XOR

XOR 문제를 코드로 구현해봅니다. 기존 방식대로 import tensorflow.compat.v1 as tf tf.disable_v2_behavior() import numpy as np tf.set_random_seed(777) x_data = np.array([[0, 0], [0, 1], [1, 0], [1, 1]], dtype=np.float32) y_data = np.array([[0], [1], [1], [0]], dtype=np.float32) X = tf.placeholder(tf.float32, [None, 2]) Y = tf.placeholder(tf.float32, [None, 1]) W = tf.Variable(tf.random_normal([2, 1]), name="weight")..

16 - Deep Learning의 개념

Deep Leanring에 대해서 알아보겠습니다. 딥러닝 딥러닝 이야기는 많은데, 이게 뭔가에 대해 알아보겠습니다. 뉴럴 네트워크라는 것이 인간이 생각하는 것을 본따서 만든 것입니다. 인간이 정보를 받아들여서 아웃풋을 내는 것 처럼 사고하는 방식입니다. 그런데 얘를 하다보니 문제가 생깁니다. OR, AND라는 것은 구분이 가능한데 XOR이라는 것은 어떻게 해야할지 모르겠는 문제가 발생합니다. 때문에, 한개의 유닛이 아니라 여러개의 유닛을 이용해서 결과를 내는 방식으로 XOR문제를 해결합니다. 그런데 문제점이 하나 생기는데, 각각의 유닛의 weight와 bias를 어떻게 학습시켜서 유의미한 결과값을 내는가? 하는 문제가 생깁니다. 이 때 생겨난 개념이 Backpropagation입니다. 간단하게 말해서, ..