본문 바로가기

105

[GAN] Numerical Data Generate SOURCE - machinelearningmastery.com/how-to-develop-a-generative-adversarial-network-for-a-1-dimensional-function-from-scratch-in-keras/ How to Develop a 1D Generative Adversarial Network From Scratch in Keras Generative Adversarial Networks, or GANs for short, are a deep learning architecture for training powerful generator models. A generator model is capable of generating new artificial sample.. 2021. 1. 28.
[GAN] 오토인코더와 GAN을 사용한 표현 학습과 생성적 학습 SOURCE: Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow Autoencoder: 어떤 지도 없이도(Label되어 있지 않은 Train Data를 사용해서) Latent Representation 또는 Coding이라 부르는 Input Data의 밀집 표현을 학습할 수 있는 인공 신경망 - 일반적으로 입력보다 훨씬 낮은 차원을 가지므로 Autoencoder가 차원 축소, 특히 시각화에 유용하게 사용됨 - 강력한 추출기처럼 작동하므로 DNN의 비지도 사전훈련에 사용 가능 - Train Data와 매우 비슷한 새로운 data 생성 가능 → Generative Model(생성 모델), but 생성된 이미지가 흐릿하고 실제 이미지 같지는 않다.. 2021. 1. 26.
[Reinforcement Learning] Pang-Yo Lab Lecture 1: Reinforcement Learning Introduction reward(Rt) = scalar feedback Definition(Reward Hypothesis) - All goals can be described by maximistion of expected cumulative reward Markov State(=Information State) - St+1은 St에 의해서만 결정됨 - 지금 당장 형 상황이 어떤지 다 표현이 되는 상황(완전 독립적 State) - 미래는 현재에 의해서만 결정됨 Full observability: agent directly observes environment state - Agent state = environment, State = in.. 2021. 1. 15.
[Reinforcement Learning] Reinforcement Learning by Sung Kim Source: Youtube 모두를 위한 RL강좌 - Sung Kim www.youtube.com/playlist?list=PLlMkM4tgfjnKsCWav-Z2F-MMFRx-2gMGG Lecutre 3: Q-Learning (Table) Policy using Q-function Max Q = maxQ(s1, a): Q 형님이 가질 수 있는 Rewards 중 제일 높은 값 π*(s) = argmaxQ(s1, a): Q 형님이 가질 수 있는 Rewards 중 제일 높은 값이 있는 Action Assum (belive) Q in s' exist The Condition - I am in s - When I do action a, I will go to s' & get reward r - Q in s', Q.. 2021. 1. 14.
[Reinforcement Learning] RL Concepts [Video Lectures] RL by Sung Kim: youtu.be/dZ4vw6v3LcA Pang-Yo Lab: youtu.be/wYgyiCEkwC8 Actor Critic: youtu.be/2vJtbAha3To Agent: 사람 Enviornment: 강아지 Action: 행동 Reward(R): 느낌 사람(Agent)이 강아지(Enviornment)를 꾸짖었는데(Action), 강아지가 좋아했다(Reward). 사람(Agent)이 강아지(Enviornment)를 끌어안았는데(Action), 강아지가 싫어했다(Reward). Environment를 정의하는 것이 중요 Policy Iteration - Policy 평가(가치함수를 업데이트)와 Policy 발전(Policy를 업데이트)으로 구성 V.. 2021. 1. 12.
[PyTorch] PyTorch 설치 1. PyTorch 홈페이지 접속 후 다운로드 pytorch.org/ PyTorch An open source deep learning platform that provides a seamless path from research prototyping to production deployment. pytorch.org 2. 설치 코드 복사 3. cmd 관리자 권한으로 실행 후, 설치 원하는 환경 activate 후 복사한 코드 입력 2021. 1. 7.
DataFrame 엑셀(xlsx, csv) 파일 형식으로 저장하기 df.to_csv('sample.csv') 혹은 df.to_csv('sample.xlsx') # sample은 파일 제목, 변경 가능 입력하면 쥬피터 노트북이 열려 있는 같은 폴더에 저장된다. 2021. 1. 6.
Tensorflow-GPU 사용하기 1. 아나콘다 최신버전 설치 2. cmd 관리자 권한 실행    - activate base 입력    - conda update conda    - conda update anaconda    - conda update python    - conda update --all    - conda create --name !@#!@# pyhthon=3.7 # "!@#!@#" ← 가상환경 이름 3. Software 호환 사항 점검(tensorflow-gpu==2.1.0 기준) # 여기 참고    - NVIDA GPU driver 418.x 이상 버전 설치    - Microsoft Visual C++ 2019 설치    - Python v3.7    - CUDA 10.1 설치 # 여기 참고      (CUD.. 2020. 12. 27.
Keras Initializer keras.initializers 종류 keras는 기본적으로 균등분포의 Glorot 초기화를 사용한다. 다음과 같이 층을 만들 때, kernel_initializer = "he_uniform" 이나 kernel_initializer = "he_normal"로 바꾸어 He 초기화를 사용할 수 있다. fan_in 대신 fan_out 기반의 균등분포 He 초기화를 사용하고 싶다면 다음과 같이 Variance Scaling을 사용할 수 있다. 2020. 12. 23.
Tensorboad를 사용해 시각화하기 Source: Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow p.393 Tensorboard 서버가 root 로그 디렉터리를 가리키고 프로그램은 실행할 때마다 다른 서브디렉터리에 이벤트를 기록한다. 하나의 Tensorboard 서버가 여러 번 실행한 프로그램의 결과를 시각화하고 비교할 수 있다. 위 코드를 실행하면 TensorBoard()콜백이 로그 디렉터리를 생성한다. 훈련하는 동안 이벤트 파일을 만들고 서머리를 기로한다. 2020. 12. 23.
Support Vector Regression SVR(Support Vector Regression) SVR(kernel, degree, gamma, coef0, tol, C, epsilon, shrinking, cache_size, verbose, max_iter) Default: svr(kernerl = ‘rbf’, degree = 3, gamma = ‘scale’, coef0 = 0.0, tol = 0.001, C = 1.0, epsilon = 0.1, shrinking = True, chache_size = 200, verbose = False, max_iter = -1) kernel kinds: ‘linear’, ‘poly’, ‘rbf(default)’, ‘sigmoid’, ‘precomputed’ 주어진 data를 고차원 특정 공간으로 사.. 2020. 12. 22.
Kernel(커널) 수식에 n차원 행렬이 있을 경우 단순하게 처리하고자할 때 사용하는 방법 Z.β) 수식에 n차원 행렬이 있을경우, (1 x n) (n x 1)로 만들어서 쉽게 수식을 해결하는 방법을 Kernel이라고 한다. 2020. 12. 21.
Embedding(임베딩) 자연어(인간의 언어)는 수치화되어 있지 않기 때문에 머신러닝, 딥러닝 기법을 적용할 수 없다. 이런 자연어 data를 처리하기 위해선 특정 추출을 통해 수치화를 해줘야 한다. 이 과정을 "언어의 벡터화"라고 한다. 가장 기본적인 언어의 벡터화 방법은 One-Hot Encoding이다. 2020. 12. 21.
Padding Convolution Filter를 수행하게 되면 Input 이미지가 작아진다. 이 때, Padding을 이용하여 Input 이미지 크기를 그대로 유지할 수 있다. 위 그림 속 기존 이미지(Orange)를 3x3으로 Convolution Filter 수행시 기존 이미지에 비하여 크기가 많이 작아진다. 하지만 Padding 함으로서(Gray) 초록색 이미지와 같이 기존보다 이미지를 최대한 살려서 Convolution Filter가 가능하다. Padding할 경우 그 값은 0을 주기 때문에 Zero Padding이라고 한다. Padding 목적: 기존 Input 이미지 최대한 살리기 Padding하지 않을 경우 이미지가 기존보다 급격하게 작아지기 때문에 Neural Network 성능에 악영향을 끼침 2020. 12. 21.
Scaler의 fit(), transform(), fit_transform() fit( ) 데이터 변환을 학습, 학습용 데이터에만 적용 transform( ) 실제 data의 scale을 조정, 학습용 data와 test data에 적용 fit_transform( ) fit( )과 transform( )을 함께 수행하는 method. 기존의 fit( )과 transform( ) 각각 수행하는 번거로움을 줄임 하지만 Test Data에 fit.transform( )을 적용해서는 안된다. 이를 수행하면 scaler 객체가 기존에 학습 data에 fit했던 기준을 모두 무시하고 다시 Test Data를 기반으로 기준을 적용하기 때문이다. 이런 번거로움을 피하기 위해 Train과 Test Data로 나누기 전에 먼저 Scaling 등의 data 전처리를 해주는 것이 좋다. 2020. 12. 18.