'Deep Learning/DeepLearning4J'에 해당되는 글 8건

  1. 2017/05/11 용비 03. Neural Network Elements
  2. 2017/04/29 용비 02. A Few Concrete Examples
  3. 2017/04/29 용비 01. Neural Network Definition

Neural Network Elements
(신경망 요소들)

Deep Learning은 "스택화된 신경 네트워크"(stacked neural network)에 사용하는 이름이다. 곧, 여러 개의 계층(layer)으로 이루어진 네트워크이다.

계층(layer)들은 노드(node)들로 구성되어 있다. 노드(node)는 충분한 자극에 접했을 때 작동하는 인간의 뇌 신경 세포를 막연히 본따서 만들어진, 단지 계산이 일어나는 장소일 뿐이다. 노드는 데이터 입력값과 일련의 계수나 가중치를 조합하여 입력값을 증폭하거나 감쇠하기 때문에 학습을 시도하는 작업 알고리즘에 입력값을 할당하는 것이 중요하다. (예를 들면, 오류 없이 데이터 분류하는데 가장 도움이 되는 입력값은 무엇인가?) 이렇게 가중치가 적용된 입력값들이 합해지고, 그 합은 소위 Activation Function(활성화 함수)라고 불리는 노드를 통과하게 된다. 그리하여 신호가 최종 결과, 즉, 분류 활동에 영향을 주기 위해 네트워크를 통과하여 무엇을 확대하는지 결정하게 된다.

하나의 노드가 어떻게 동작하는지에 대한 다이어그램이 있다.


사용자 삽입 이미지

노드 계층(node layer)은 입력값이 네트워크를 통해 공급되는 경우, 켜고 꺼지는 뉴런과 같은 스위치의 행이다. 데이터를 받은 초기 입력 계층으로부터 시작하여, 각 계층의 출력값은 동시에 그 다음 계층의 입력값이 된다.

사용자 삽입 이미지

입력값의 특성과 조정할 수 있는 가중치의 조합은 네트워크가 입력값을 분류하고 클러스터링하는데 고려하는 특성에 중요도를 지정하는 방법이다.
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.yongbi.net/rss/response/788

02 A Few Concrete Examples
(몇 가지 구체적인 예제)

Deep Learning은 입력값과 출력값을 맵핑한다. Deep Learning은 상관 관계를 찾는다. 그것은 "Universal Approximator"(보편적인 근사)라고 알려져 있다. 왜냐하면 입력값 x와 출력값 y가 상관 관계나 인과 관계가 있다고 가정할 때, 함수 f(x)=y의 근사치를 계산하는 것을 배울 수 있기 때문이다. 학습 과정에서, 신경망은 f(x)=3x+12인지 f(x)=9x-0.1인지에 상관없이 올바른 f를 찾거나 정확한 방식으로 x를 y로 변환한다. Deep Learning이 무엇을 할 수 있는지 여기 몇가지 예제가 있다.

1. Classification
(분류)

모든 분류 작업은 라벨이 붙여진 데이터셋에 달려 있다. 그것은 곧 사람은 신경망이 라벨과 데이터 사이의 상관 관계를 배우도록 지식을 데이터셋으로 변환해야 한다는 것을 의미한다. 이것을 Supervised Learning(감독 학습)이라고 한다.

  - 얼굴을 감지하고, 이미지에서 사람들을 식별하고, 얼굴 표정을 인식한다. (화가 났는지, 즐거운지)
  - 비디오에서 행동 인식한다.
  - 음성을 감지하고, 화자를 식별하고, 음성을 텍스트로 바꾸고, 음성에서 감정을 인식한다.
  - 텍스트를 스팸(이메일에서)이나 사기(보험 청구에서)로 분류하고 텍스트에서 감정을 인식한다. (고객 피드백)

사람이 만들 수 있는 어떤 라벨이나 관심을 가지고 있는 어떠한 결과, 데이터와 상관 관계가 있는 어떤 라벨이라도 신경망 훈련에 사용할 수 있다.

2. Clustering
(클러스터링)

클러스터링이나 그룹핑은 유사성을 감지한다. Deep Learning은 유사성을 감지하기 위해 라벨을 붙이도록 요구하지 않는다. 라벨을 붙이지 않은 Learning은 "Unsupervised Learning"(감독되지 않는 학습)이라고 한다. 라벨이 붙어 있지 않은 데이터는 전 세계 대부분의 데이터이다. 머신 러닝의 한가지 원칙은 더 많은 데이터로 알고리즘이 학습할수록, 더 정확해질 것이라는 것이다. 그러므로, unsupervised learning은 굉장히 정확한 모델을 생성할 수 있는 잠재력이 있다.

  - 검색 : 유사한 아이템을 나타내기 위하여 문서나 이미지, 사운드를 비교한다.
  - 이상 탐지 : 유사성 탐지와는 반대로 이상 현상이나 비정상적인 행위를 탐지하는 것이다. 많은 경우에, 비정상적인 행위는 사기와 같이 탐지하고 방지하기 원하는 것과 높은 상관 관계가 있다.

3. Predictive Analytics
(예측 분석)

말하자면, 분류를 통해서 deep learning은 이미지의 픽셀과 사람의 이름 사이의 상관 관계를 설정할 수 있다. 이것을 정적 예측이라고 부를 수 있다. 동일한 토큰으로, 충분한 올바른 데이터에 노출된다면 deep learning은 현재 이벤트와 미래 이벤트 사이의 상관 관계를 설정할 수 있다. 미래 이벤트는 감각에 라벨을 붙이는 것과 같다. Deep learning은 시간이나 어떤 일이 아직 발생하지 않았다는 사실을 반드시 고려하지는 않는다. 주어진 일련의 시간 동안, deep learning은 숫자열을 읽고, 다음에 발생할 것 같은 최적의 숫자를 예측한다.

  - 하드웨어 고장 : 데이터 센터, 제조, 운송
  - 건강 이상 : 뇌졸중, 생체 통계와 웨어러블 데이터 기반 심장 마비
  - 고객 변동(churn:서비스 제공자를 바꾸는 고객) : 웹 활동이나 메타데이터에 근거한 고객이 떠날 가능성 예측
  - 직원 이직율 : 위와 동일하지만, 직원용으로

더 잘 예측할수록, 더 잘 예방하고 미연에 방지할 수 있다. 보는 것과 같이, 신경망을 가지고 우리는 더 적은 놀라움의 세상을 향해 움직일 수 있다. Zero가 아닌 단지 미미하게 더 적은 놀라움의 세상으로.

Deep Learning Use Case에 대한 간략한 Overview를 통해서, 신경망이 무엇으로 이루어져 있는지를 살펴보자.
받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.yongbi.net/rss/response/787


more..



01. Neural Network Definition
(신경망의 정의)

신경망은 패턴을 인식하도록 디자인된 사람의 뇌를 본떠 느슨하게 모델링된 일련의 알고리즘이다. 신경망은 기계 인식, 원시 입력값을 라벨링하거나 클러스터링하는 것을 통해 감각 데이터를 해석한다. 신경망이 인식한 패턴들은 모든 실제 세상의 데이터-이미지, 사운드, 텍스트, 시간 계열-가 번역되어 벡터에 포함된 수치들이다.

신경망은 클러스터링하고 분류하는데 도움을 준다. 신경망은 저장하고 관리하는 데이터 위에서 클러스터링하고 분류하는 계층으로 생각할 수 있다. 신경망은 예제로 입력하는 값들 사이의 유사성에 따라 라벨이 붙어 있지 않은 데이터를 그룹하는데 도움을 준다. 그리고, 라벨이 붙여진 데이터를 가지고 있다면 분류하여 훈련할 수 있다. (더 정확하게 이야기하면, 신경망은 클러스터링하고 분류하기 위해 다른 알고리즘에 있는 기능들을 추출한다. 따라서 심층 신경망(Deep Neural Networks)은 강화 학습, 분류 및 회귀 알고리즘을 포함한 더 커다란 머신러닝 어플리케이션의 컴포넌트로 생각할 수 있다.)

Deep Learning(심화 학습)으로 풀 수 있는 문제들은 무엇이 있으며, 더 중요한 것은 Deep Learning으로 여러분의 어떤 문제들을 해결할 수 있는가? 그에 대한 답을 알기 위해서는 스스로에게 몇 가지 질문을 해볼 필요가 있다. 내가 관심을 가지고 있는 결과는 무엇인가? 그런 결과들은 데이터로 적용될 수 있는 라벨들이다. 예를 들면, 이메일 필터의 스팸인지 아닌지, 사기 탐지의 좋은 사람인지 나쁜 사람인지, 고객 관계 관리(CRM)상에서의 화난 고객인지, 행복한 고객인지. 그런 다음 물어보라. 이 라벨에 동반되는 데이터를 가지고 있는가? 곧, 라벨이 붙여진 데이터를 찾을 수 있는가? 또는 라벨과 입력값 사이의 상관 관계를 알고리즘에 가르쳐 주기 위해 스팸이라는 라벨이 붙여진 스팸과 같이 라벨이 붙여진 데이터들(Mechanical Turk이나 Crowdflower와 같은 서비스를 사용하여)을 만들 수 있는가?

받은 트랙백이 없고, 댓글이 없습니다.

댓글+트랙백 RSS :: http://www.yongbi.net/rss/response/786