실습 환경은 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..
학습에 사용된 운영체제는 Windows이다. Anaconda를 이용하면 필요에 따라 간편하게 여러 가상 환경을 생성/제거하고 사용할 수 있다. CMD를 이용한 가상 환경 관리 명령어는 다음과 같다. ' 가상환경 생성/삭제 및 관리 conda list 현재 가상 환경에 설치된 라이브러리 목록을 출력 conda env list 존재하는 가상 환경 목록을 출력 conda create -n {envname} python=version envname이라는 이름의 가상 환경을 생성 * -n 은 --name의 축약된 표현임 (conda) activate {envname} 해당 가상 환경을 활성화(사용) * Windows command line에서는 conda를 생략 conda deactivate 사용중인 가상 환..
▶ 왜 계층화를 이용하는가? * 복잡한 시스템을 다루기 위함. * 명시적 구조는 복잡한 시스템 조각 간 식별과 관계 정의를 도움 * 모듈화는 시스템의 유지보수를 쉽게 함 ▶ ISO/OSI reference model * network edge간 통신을 위해 ISO 회사가 만든 OSI 7계층 * 계층을 거치며 데이터는 Encapsulation(캡슐화)되고, Decapsulation(캡슐화의 역과정)된다. * Encapsulation은 헤더를 붙이는 과정, Decapsulation은 헤더를 해석하는(제거하는) 과정이다. * 각 계층마다 데이터는 우측의 명칭대로 불린다. * 애플리케이션 계층 : 네트워크 애플리케이션의 이용을 돕는다. FTP, SMTP, HTTP 등이 있다. source data → mes..
▶ 손실(loss)과 딜레이(delay)는 어떻게 발생하는가? * 라우터 버퍼에서의 패킷 지연 * transmission delay, queueing delay, 버퍼 부족으로 인한 packets dropped loss ▶ 네 가지의 패킷 지연(packet delay) * (노드)처리 지연((nodal) processing delay) : 패킷을 어떤 output link로 보낼지 결정하는 시간 * 큐잉 지연(queueing delay) : transmission을 기다리는 시간. 라우터의 혼잡도에 의존 * 전송 지연(transmission delay) : 패킷을 전송하는 데에 걸리는 시간. L/R * 전파 지연(propagation delay) : physical link의 시작점에서 도착 지점..