본문 바로가기

728x90
반응형

LAB/AI

딥러닝(3) 파이썬, 텐서플로 : 코드 위주 1. 텐서플로(TensorFlow) 데이터 플로우 그래프를 사용해 수치 연산을 하는 오픈 소스 소프트웨어 라이브러리다. 머신 러닝, 특히 딥러닝 연구를 목적으로 구글의 브레인 팀에 의해 개발되었다. 그래프의 노드(Node)는 수치 연산을, 그래프의 에지(Edge)는 노드 사이를 이동하는 다차원 데이터 배열(Tensor)을 의미한다. (1) 파이토치 (pytorch) 현재 논문에서 가장 많이 사용하는 딥러닝 프레임워크다. 파이썬 본래의 코드와 유사해 직관적이라는 장점이 있다. 동적 계산 그래프를 사용한다. 즉 변수를 호출할 때 그래프를 만들어가며 사용한다. 중간에 변수의 값을 바꿀 수 있다. (2) 텐서플로 (tensorflow) 구글에서 공개한 프레임워크, 다양한 플랫폼에서 이용할 수 있다. 케라스를 고.. 더보기
딥러닝(2) 인공신경망의 구조와 연산 : 이론 위주 0. 딥러닝의 역사 1956년 스스로 학습하는 인공 신경망인 '퍼셉트론'이 등장했다. 퍼셉트론은 입력 데이터가 들어오면 가중치와 곱해서 가중 합산을 하며, 그 결과가 0보다 크면 1을 출력하고 그렇지 않으면 0을 출력한다. 가중 합산과 step function을 순차적으로 실행하는데, 이때 계단 함수가 퍼셉트론의 활성 여부를 결정하므로 이를 활성 함수(activation function)이라고 부른다. 퍼셉트론의 한계로 인해 다층 퍼셉트론의 필요성과 동시에 인공 신경망 연구의 침체기가 도달했다. 1974년 다층 퍼셈트론을 학습시킬 수 있는 '역전파 알고리즘'이 제안되었다. 이는 일반적인 그래프 형태의 네트워크에서 작동하며, 신경망의 뉴런에 분산된 파라미터의 미분을 효율적으로 계산하기 위한 알고리즘이다. .. 더보기
딥러닝(1) 인공지능의 분류, 지도 학습 구현 기법 1. 인공지능 인공지능이란 사람처럼 생각, 추론, 학습할 수 있는 지능 시스템을 말한다. 머신러닝이란 인공지능의 하위 분야로 기계가 스스로 학습하여 지능을 습득하는 기술이다. 일반적인 알고리즘은 규칙에 따라 행동하는 반면, 머신러닝은 '데이터'로부터 학습, 훈련을 통해 스스로 규칙을 찾는 셈이다. 딥러닝은 머신러닝의 하위 분야로, 인공 신경망을 사용하는 경우를 말한다. (1) 특징(Feature) 생성된 데이터(샘플)의 특징을 통해 머신러닝을 수행한다. 특징이란 어떤 물체를 구분할 수 있는 적절한 정보다. 머신러닝에서는 이렇게 취득한 정보를 통해 학습, 결과를 도출한다. (2) 분류(classification) 대표적인 머신러닝은 분류 문제다. 클래스(class)에 맞게 분류하는 것을 의미하며, 둘 중 .. 더보기
딥러닝(6) 실습: RNN image classification 코드 https://github.com/rickiepark/handson-ml/ GitHub - rickiepark/handson-ml: 도서 "핸즈온 머신러닝"의 예제와 연습문제를 담은 주피터 노트북입니다 도서 "핸즈온 머신러닝"의 예제와 연습문제를 담은 주피터 노트북입니다. Contribute to rickiepark/handson-ml development by creating an account on GitHub. github.com 1. RNN image classification MNIST 숫자 이미지 데이터셋을 분류하는 분류기를 구현할 것이다. 사실 이미지 데이터 학습은 이미지의 공간(spatial) 구조를 활용하는 CNN 모델이 더 적합하다. 그러나 인접한 영역의 픽셀은 서로 연관되어 있으므로 .. 더보기
딥러닝(5) 실습: LSTM 코드 1. RNN (1) RNN의 구조 Sequence data란 현재 state가 그 다음 state에 영향을 미치는 데이터이다. 아래 그림과 같이, x라는 입력을 넣으면 RNN에서 출력으로 나오는 state가 다시 RNN의 입력이 된다. 또한 각각 RNN 셀에서 y값을 뽑아낼 수가 있다. RNN을 계산할 때 state를 먼저 계산한 후 y를 구한다. state를 계산할 때 중요한 것은 tiem step 이전의 state가 입력으로 사용된다는 것이다. 즉 입력값은 2개로 [1] x, [2] 이전 RNN 셀에서의 state이다. 또한 RNN의 셀은 여러 개지만, 위의 그림처럼 구조를 표현하는 이유는 셀들마다 동일한 fW를 사용하기 때문이다. (2) Vanilla RNN RNN의 가장 기본적인 형태다. 시퀀스 .. 더보기
딥러닝(4) ANN, DNN, CNN, RNN 개념과 차이 1. 인공지능, 머신러닝, 딥러닝 (1) 인공지능 : 인간의 지능을 기계 등에 인공적으로 구현한 것 (2) 머신러닝 : 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 것 (3) 딥러닝 : 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화 즉 다량의 복잡한 자료들에서 핵심적인 내용만 추려해는 작업을 시도하는 기계학습 알고리즘 2. ANN, DNN, CNN, RNN (1) ANN Artificial Neural Network의 약자로, 인공 신경망을 의미한다. 사람의 신경망 구조 및 원리는 모방하여 만든 기게학습 알고리즘이다. 인간의 뇌에서 뉴런들이 어떤 신호나 자극을 받고, 그 자극이 일정 임계값(threshold)을 넘어서면 결과 신호를 전달한다. ANN은 이와 같은 과정으로 작동한다... 더보기

728x90
반응형