실습 환경은 Python 3.6과 tensorflow 1.5이다. 현업에서는 딥러닝을 이용할 때 모델의 구성, 모델의 학습, 결과 예측을 각각 분리하여 처리해야 하는 경우가 많다(고 한다). 이러한 경우, Saver와 checkpoint 등을 이용해 모델에 관한 정보를 저장하고 불러와 사용하는 방식을 이용한다. 데이터 입력 앞선 예제들과 달리 데이터 역시 주로 프로그램의 내부가 아닌 외부에서 주어진다. 이러한 데이터를 불러오는 방법은 아래와 같다. # 데이터 파일로부터 데이터 받아옴 data = np.loadtxt('./data.csv', delimiter=',', unpack=True, dtype='float32') # 슬라이싱을 통해 입력값과 출력값으로 분리 x_data = np.transpose(d..
실습 환경은 Python 3.6과 tensorflow 1.5이다. 인공 신경망(artificial neural network, ANN) 인공 신경망이란, 뇌내 신경 세포(뉴런)의 동작 원리에 기초한 학습 알고리즘이다. 학습의 목표는 원하는 출력값 y를 만들어내기 위해 입력값 x에 곱하고 더할 적절한 가중치(W)와 편향(b)을 도출하는 것이다. 이러한 과정은 인공신경망 내에서 이루어진다. 인공 신경망을 구현하기 이전에, 구현에 필요한 사전 지식을 먼저 학습하도록 하자. 활성화 함수 인공 신경망을 통과해 도출된 출력 값 y를 입력으로 받아 의도한 변화를 적용하여 반환하는 함수. 대표적으로 ReLU(렐루)가 있다. 신경망의 출력층에서는 잘 사용되지 않는다고 한다. 원-핫 인코딩(one-hot encoding)..
실습 환경은 Python 3.6과 tensorflow 1.5이다. 선형 회귀(linear regression)란? 선형 회귀란, x와 y의 값(데이터)가 주어졌을 때, 두 데이터 간 관계의 규칙성을 찾아 새로운 x값(input)에 대해 적절한 y값(output)을 예측하는 기법이다. 선행 개념 플레이스홀더 세션과 지연 실행 앞의 두 가지 개념을 아직 들어본 적이 없다면 아래의 게시물을 참고하자. 2020/07/14 - [개발 일지/ML] - 텐서(tensor), 플레이스홀더(placeholder)와 변수 1. 데이터셋 설정 # y = 2x 의 선형 그래프 x_data = [1, 2, 3] y_data = [2, 4, 6] 다음과 같이 데이터셋을 설정하였다. 2. 가중치와 편향 탐색 # 균등분포(unifo..
학습 환경은 tensorflow verison 1.15이다. tensorflow version 1과 2는 상당히 차이가 있는 것 같지만 요즘에도 주로 사용되는 version 1을 먼저 학습하기로 하였다. 우선은 텐서플로우를 사용하기 위해서는 tensorflow 모듈을 import 해야 한다. import tensorflow as tf 이때, 이후에 다른 버전을 이용해야 할 일이 생길 수도 있고 다른 모듈과 함께 사용하다가 버전 충돌이 발생할 수도 있다는 점을 고려하여 별도의 가상 환경을 구축하여 진행하기를 권장한다. 가상 환경을 생성하고 관리하는 방법은 이전 포스트에 기술해 두었다. 2020/07/13 - [개발 일지/ML] - Pycharm을 이용한 Anaconda 가상 환경(env) 설정 Pychar..