달력

112024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

Google 머신러닝 용어집 Link



Deep Leaning

신경망 알고리즘을 주로 사용하는 머신 러닝의 한 분야로 다층 신경망을 사용한 기계학습 방법론.


퍼셉트론

하나의 신경세포를 인공적으로 모델링한 뉴런


퍼셉트론 알고리즘 작동방식

뉴런 하나로 입력되는 정보가 X1, X2 두 개라고 할 때 입력 값에 각각 가중치 W1,W2를 곱한 후 더한다.

즉 결과 값은  X1*W1 + X2*W2 가 된다. 이 값을 어떤 기준과 비교하여 만족스러운 결과가 나오도록 가중치 W1, W2를 조금씩 조정한 후 그 결과값을 다시 다음 뉴런에게 전달한다.


CNN(합성곱 신경망)

이미지 안의 물체를 인식하거나 이미지의 장면을 글로 요약하는데는 CNN 구조가 많이 사용된다.

특정한 이미지 처리를 수행하는 층이 여러 개 쌓인 구조를 갖는 층간의 결합 밀도가 낮은 신경망


TensorFlow(텐서플로)

데이터 플로 그래프를 사용해서 수치 연산을 하는 라이브러리. 그래프의 노드는 수학 연산을 나타내고 노드를 연결한는 그래프의 에지는 다차원 데이터 배열을 나타낸다.

텐서플로는 수치 연산을 기호로 표현한 그래프 구조를 만들고 처리한다는 기본 아이디어를 바탕으로 구현. CPU, GPU의 장점을 모두 이용할 수 있고 안드로이드 iOS 같은 모바일 플랫폼은 물론 맥OS X와 같은 64비트 리눅스에서도 바로 사용할 수 있다. 또 다른 강점은 알고리즘이 어떻게 돌아가고 있는지 알려주기 위해 많은 정보를 모니터링하고 디스플레이해주는 텐서보드 모듈이 있다.

Tensor란 Matrix 혹은 다차원의 Array을 의미한다. 동적 사이즈의 다차원 데이터 배열을 실어 나르는데서 텐서플로우라는 이름이 지어졌다.


선형회귀분석(linear regression)

변수들 사이의 관계를 분석하는 데 사용하는 통계학적 방법, 이 방법의 장점은 알고리즘의 개념이 복잡하지 않고 다양한 문제에 폭넓게 적용할 수 있다는 것이다. 독립변수 Xi, 상수한 b와 종속변수 y 사이의 관계를 모델링하는 방법으로 두 변수 사이의 관계일 경우 단순회귀라고 하며 여려 개의 변수를 다루는 다중회귀도 있다.


경사하강법(gradient descent)

일련의 매개변수로 된 함수가 주어지면 초기 시작점에서 함수의 값이 최소화되는 방향으로 매개변수를 변경하는 것을 반복적으로 수행하는 알고리즘이다. 함수의 기울기를 음의 방향쪽으로 진행하면서 반복적으로 최적화를 수행한다. 보통 양의 값을 만들기 위해 거리 값을 제곱하며 기울기를 계산해야 하므로 오차함수는 미분 가능해야 한다.


K-평균 알고리즘(K-means algorithm)

군집화 문제를 풀기 위한 자율 학습 알고리즘의 일종. 간단한 방법으로 주어진 데이터를 지정된 군집개수(K)로 그룹화한다.


Tensor

원래 의미는 2차원 이상, 임의의 차원을 가진 배열을 뜻한다. 텐서플로우는 방향성이 있는 그래프 구조로 모델을 구성하는데 이때 그래프는 0개 이상의 입출력을 갖는 노들의 연결체이며 노드는 operation의 instance라고 할 수 있다.


Operation

텐서플로우에서 계산이 일어나는 단계를 의미한다. Tensor를 만들고 흐름을 구성하면서 흐름과 흐름 사이에서 자료의 곱셈이나 더하기, 뺄셈 등의 계산을 하는 단계이다. 다양한 속성 값(attribute)를 가질 수 있다.


Session

세션은 텐서플로우에서 graph를 구성한 후 실제 graph를 수행 할 수 있게 만들어 주는 프로그램을 의미 한다. 텐서플로우는 다양한 실행 환경(CPU, CPU/GPU, 원격 분산처리)에서 graph를 생성하고 이를 실행하기 위해 Client에서 session을 만들어 전달한다.


GPU 가속 컴퓨팅

CPU와 GPU의 차이는 그 작업 처리 방식을 비교해보면 하나의 CPU는 직렬 처리에 최적화된 몇 개의 코어로 구성된 반면, GPU는 병렬 처리용으로 설계된 수 천개의 보다 소형이고 효울적인 코어로 구성되어 있다. 

NVIDIA에서 2007년에 개발한 GPU 가속 컴퓨팅은 그래픽 처리 장치와 CPU를 함께 이용하여 Application의 처리속도를 높이는 것을 말한다. Application의 연산 집약적인 부분을 GPU로 넘기고 나머지 코드만을 CPU에서 처리하는 GPU 가속 컴퓨팅은 강력한 Application의 성능을 제공하여 App의 속도가 놀라울 정도로 빨라 졌음을 느낄 수있다.






Posted by 생짜
|