[Artificial Intelligence] Foundation of AI

AI는 많은 분야와 연관이 있고, 다양한 분야에서 AI와 연관된 질문들에 대한 대답을 찾고 있다고 한다. Philosophy (철학) Can formal rules be used to draw valid conclusions? How does the mind arise from a physical brain? Where does knowledge come from? How does knowledge lead to action? 위와 같은 질문들을 대답하기 위해 많은 철학자가 노력했다고 한다. … Read more

[Artificial Intelligence] AI Definition

요즘  Artificial Intelligence (AI)에 관련된 책을 찾아서 조금씩 읽고 있다. 상당히 어려운 주제라 introduction을 넘어가지도 못하고 있다. 우선 오늘은 AI의 definition에 대해서 작성 하려 한다. 책에 따르면 다양한 AI의 definition이 존재한다고 한다. 아래는 4개의 AI definition을 정리하였다. Action Humanly (The Turing Test Approach): 영어 해석 그대로 “얼마나 사람에 가깝게 행동하는지”를 의미한다. Turing test를 통해 얼마나 … Read more

[Neural Network] Multi-Layered Perceptron

지난번에 perceptron에 대해서 간단하게 설명하였다. 하나의 perceptron으로 점을 분류하는 간단한 예제를 확인해 보았다. 하나의 perceptron으로는 linearly separable 한 점을 분류할 수 있다. 아래 그림 1과 같이 AND와 OR gate는 하나의 perceptron만 사용하여 간한하게 결과값을 찾을 수 있다.   그림 1: AND/OR gate 결과 (출처)    반면 그림 2와 같이 XOR의 경우 하나의 라인으로 답을 분류할 … Read more

[Neural Network] Perceptron?

Perceptron의 개념은 1957년 Frank Rosenblatt가 제안하였다. Perceptron은 neural network를 구성할 수 있는 가장 작은 단위이다. 기본적으로 Perceptron은 여러 개의 input을 받아서 특정 연산(processor)을 수행 후 결과를 출력하는 형태이다. 그림 1은 Perceptron을 묘사한 그림이다. 그림 1과 같이 Perceptron은 2개의 input과 하나의 processor을 가지고 있다. 그리고 각 input에 해당하는 weight 값이 존재한다. Weight 값과 input을 사용하여 processor은 … Read more

[Pascal Architecture] NVLink (High Speed Interconnection)

NVLink는 NVIDIA사에서 소개한 high speed interconnection (NVHS: NVIDIA’s new High-Speed Signaling  interconnection)을 말한다. NVLink는 Tesla P100과 Pascal GP100 GPUs에서 지원한다. 가장 큰 목적은 GPU와 GPU 간의 data access 속도(대역폭)를 향상하려는 방법이다. NVLink를 지원하지 않을 경우 GPU 간에 data access를 하기 위해서는 PCIe를 사용하여 호스트(host)의 메모리에 저장 후 다시 PCIe를 사용하여 다른 GPU에 데이터 로딩을 진행한다. … Read more

[Machine Learning] Concept of Neural Network

사람의 뇌는 biological neural network (신경망)로 구성되어 있다고 한다. 각 neural이 독립적으로 동작하여 서로 signal을 주고받는 형태이다 (솔직히 뭔 말인지 모르겠다. 사람의 뇌가 어떻게 동작하는지는 정확히 이해하지 못하였다). 아래 그림은 사람의 neuron을 그려놓은 그림이다.   그림 1: 사람의 Neuron (출처)   1943년에 Warren S. McCulloch (neuroscientist)와 Walter Pitts (logician)이 처음으로 인공지능망이란 개념을 제안하였다고 한다 (출처). … Read more

[AlphaGo] Mastering the Game of GO with Deep Neural Networks and Tree Search (NATURE Article)

NATURE에 AlphaGo(출처)에 대한 논문이 있어서 읽어 보았다. 솔직히 무슨 말인지 거의 이해를 하지 못하였다. 그래서 우선 이해한 부분만 정리하고 이해하지 못한 부분은 다시 정리할 계획이다. 기본적으로 Go(바둑)는 가능한 수가 너무 많아 단순 프로그램으로는 사람을 이기기가 쉽지 않다고 알려져 있다고 한다. AlphaGo가 최초로 사람(프로 기사)을 이긴 Go(바둑) 프로그램이 된 것이다. 그림 1: 이세돌과 AlphaGo 관련 사진 … Read more

[Pascal Architecture] Streaming Multiprocessor (SM) design (P100) (Part 2)

이전에 설명했듯이 GP 100의 SM은 총 6만(65,536) 개의 32-bit register와 64개의 CUDA core로 구성되어 있다. 이는 지난 Maxwell, Kepler와 같은 register 크기이지만 core의 개수는 줄어들었다. 결과적으로 하나의 코어에 할당된 register의 개수가 늘어난 형태이다. 아래 그림 1은 Pascal SM의 구조를 표현한 그림이고, 그림 2는 지난 3세대의 GPU 스펙을 정리한 표이다 (출처). 그림 1: Pascal SM 구조 … Read more

[Pascal Architecture] Streaming Multiprocessor (SM) design (P100)

지난 2016년 5월에 NVIDIA에서 Pascal architecture를 공개하였다. 지난 몇 개월간 개인적인 사정으로 Pascal 구조를 들여다볼 시간이 없었다. 하지만 나는 GTX 1060을 구매하여서 사용하고 있다. 오늘은 Pascal architecture의 Streaming Multiprocessors (SMs)의 구조를 정리해 볼 계획이다. 대부분 정보는 “NVIDIA Tesla P100 White Paper (출처)”에서 읽은 내용이다. Pascal SM은 지난 세대의 Kepler와 Maxwell SM (SMX or SMM)의 구조 … Read more

[Machine Learning] Beginning

머신 러닝(Machine Learning)에 대한 공부를 진행할 계획이다. 구글이 만든 알파고(AlphaGo)가 이세돌 기사(?)를 이기면서 머신 러닝에 대한 관심도가 급상승하였다. 정확히 말하면 우리나라 정부가 큰 관심을 가지게 된 것 같다. 엄청나게 많은 예산(?)을 들여서 한국형 알파고를 만들겠다고 발표를 한다 (출처). (정말 어처구니 없는 발언이다). 많은 돈은 정부과제 형태로 만들어져서 대학, 기업에 뿌려지고 있다. 과연 이렇게 해서 한국형 … Read more