인공지능 12

[AI-14] 근접 영역 속에서 나를 찾도록 : k-Nearest Neighbors

k-NN 알고리즘(k-Nearest Neighbors)은 레이블이 지정되어 분류된 기존의 데이터 분포에 새로운 데이터를 배치시키면서 임의의 k값을 기준으로 근처에 위치한 데이터들이 갖는 레이블로 데이터를 분류하는 분류 방법이다. 일단은 레이블 개념이 등장하는 것부터 알 수 있듯이, 기본적으로 지도학습(Supervised Learning)에 속한다.그런데 분류하는 방법은 위에서 설명한 바와 같이 비지도학습인 군집분석(clustering)과 유사한 방식을 취한다. 즉 특별히 어떤 학습을 거치지 않고 마치 군집화하듯이 데이터 간의 거리를 계산해 그 분포로 데이터를 파악하는데, 이러한 접근이 '비지도학습적'으로 느껴질 수 있어 비지도학습으로 분류하거나 준지도학습(Semi-supervised)으로 따로 보려는 접..

[AI-12] 최적의 분류 평면 찾기, 서포트 벡터 머신(SVM)

회귀 등의 방법을 통해 일반적으로 데이터를 분류하는 방법들은, 각 데이터의 분류를 확률적으로 계산하여 그 소속 여부를 결정한다. 즉, 확률에 대한 어떤 특정한 임계값을 넘는지 못넘는지에 따라 분류 여부를 판단하는 방식으로, 각 데이터가 특정 클래스에 속할 확률을 계산함으로써 분류가 실패할 확률(에러율)을 줄이는 쪽으로 학습을 진행한다. 이는 처음부터 분류 자체를 목적으로 한다기보다는, 데이터가 가까운 쪽의 클래스로 분류됨으로써 자연스럽게 분류가 완성되는 것이다.서포트 벡터 머신(Suppor Vector Machine)은 이러한 방법들과 다르게 분류 자체를 목적으로 두고 데이터 간의 거리를 계산하여 그 사이의 가장 여백(margin)이 큰 경계를 찾는 방식으로 데이터 간에 경계를 나누면서 학습을 진행한다...

[Talk] 인공지능은 디자인을 어떻게 바꿔 놓을 것인가

인공지능의 개념이 처음 모습을 드러냈을 때 우리는 '단순 노동자 부터의 일자리 소멸'을 예상했었다. 제아무리 인공지능이라도 고차원적인 개념이해나 발상은 어려울 것으로 여겨졌고, 비교적 단순한 노동을 모사하는 것에서부터 시작될 것으로 여겨졌기 때문이다. 특히 '디자인'은 미학이나 창의적인 측면이 많아 기계학습으로 따라가기는 어려울 것으로 판단되곤 했다.그러나 기술의 변화로 인공지능이 두각을 드러내기 시작하면서 이러한 인식의 양상은 달라졌다. 실제로는 오히려 우리에게 너무나 쉬운 걷기, 물건 집기, 옮기기 등은 기계에게 너무나 많은 조작과 섬세한 변수 제어를 필요로 하는데 비해 오늘날 거의 전산 위주로 이뤄지던 지식 노동은 오히려 기계의 영역이었기에 '어떻게 하는 건지' 학습만 이뤄지면 쉽게 처리가 가능했기..

Philosophy 2024.11.13

[AI-11] 유에서 무로, 다시 유로 : Diffusion Model

확산(Diffusion)이란, 자연 현상에서 무언가 다른 두 물질이 만나 서로 동화되며 섞여가는 과정을 의미한다. 이 때 원래 각각의 물질로서 높은 순도를 가지고 있던 두 물질은 순도가 낮아지고 동화된다. 예를 들어 커피에 우유를 섞으면 처음에는 각각 높은 순도의 커피와 우유였던 두 물질이 점차 서로에게 동화되며 커피와 우유로서의 순도는 낮아지게 된다. 커피가 우유로, 우유가 커피로 확산되면서 높은 엔트로피에서 낮은 엔트로피로 흐르는 것이다.인공지능에서 말하는 '확산 모델'도 이러한 과학에서의 확산 개념과 무관하지 않은데, 학습 과정에서 마치 확산을 시키듯 데이터를 자연 속에 확산시키면 잘 정돈되어있던(High Entrophy) 생성물의 순도는 낮아지게 될 것(Low Entrophy)이다. 즉, 풍화나 ..

[AI-10] 데이터에 따라 스스로를 조직하다: Self Organizing Map

이전 글에서 인공신경망(ANN; Artificial Neural Network)을 공부하면서 입력받은 데이터에 따라 은닉층(Hidden layer)의 가중치를 조정하여 학습하는 인공지능 학습에 대해 살펴본 바 있다. 자기 조직화 지도(SOM; Self Organizing Map) 역시 이와 같이 데이터에 맞춰 각 노드가 가중치를 조정하는 한 방법인데, 오늘은 이에 대해서 공부해보았다.여러 방법론을 공부하다 보면 '지도(Map)'라는 단어를 만나는 경우가 꽤 많은데, 보통 방법론에서 지도라는 단어를 말할 때는 X축과 Y축의 2차원 도식으로 표현이 가능한 경우가 많다. '사용자 여정 지도'나 '사용자 행동 지도'와 같은 경우가 그러하다. 이 '자기 조직화 지도' 역시도 마찬가지인데, 매우 고차원적인 특징(F..

[AI-09] 데이터에서 자라난 무작위의 숲, Random Forest

의사결정나무(Decision Tree)는 원본 데이터로부터 필터링을 거쳐 순도가 높은 데이터 그룹을 추출해가는 과정이다. 원본 데이터는 다양한 성질(불순도; Impurity)을 가지고 있기 때문에 목적에 맞게 사용하려면 적절한 분류와 그룹화가 필요한데, 이 과정을 시각화하면서 정리하는 방법이 의사결정나무이다.의사결정나무는 뿌리마디로부터 줄기마디(중간마디), 잎마디(끝마디)의 순으로 '성장'하는데, 이 과정을 가지치기(pruning)라고 한다. 이 도식은 실제 나무와는 달리 위에서부터 아래로 자라는 형태로 표현되는데, 상위노드는 '부모마디'가 되며 하위노드는 '자식마디'가 된다. 그리고 뿌리마디를 제외한 잎마디까지의 전체 마디수가 '깊이(Depth)'가 된다.좋은 의사결정나무는 좋은 분할(가지치기)로부터 ..

[AI-07] 어떻게 학습시킬까? : 레이블과 강화

인공지능의 학습 방법은 크게 지도학습(Supervised Learning)과 비지도학습(Unsupervised Learning), 그리고 강화학습(Reinforcement Learning)으로 분류된다. 이들은 레이블의 유무에 따른 지도학습과 비지도학습, 그리고 레이블이 아닌 강화를 통해 학습을 유도하는 강화학습의 두 가지로 먼저 나눠볼 수 있다. 먼저 레이블(Label)에 대해 살펴보면, 레이블은 문자 그대로 데이터에 정의를 입혀 학습시키는 것을 의미한다. 즉, 문제에 대해 정답이 존재하는 데이터인데, 예를 들어 OCR(Optical Chracter Recognition)과 같은 기술이 이에 해당한다. 이미지 속의 숫자 또는 문자는 일련의 배치를 가지고 일정 수준 이상 대비도가 차이나는 이미지 픽셀 데..

[AI-06] 신경망의 활동을 표현하다 : 시그모이드 함수

이제까지의 공부를 통해, 데이터를 수치화해 수학적 / 통계적으로 해석함으로써 각 신경망 유닛이 데이터에 부합하는 최적의 식을 찾는 것이 기계학습의 전반적인 원리임을 알아보았다. 이전글에서는 이 식을 간단하게 H(x)=Wx+b와 같이 기본적인 1차함수로만 다루면서 공부하였지만, [AI-04]에서 공부한 내용에서처럼 신경망은 여러 개의 입력값과 복잡한 노드로 연결되기 때문에 이렇게 간단한 식으로 해결되지는 않는다. 예를 들어, 3개의 입력을 처리하는 신경망 노드의 경우, 아래와 같은 식이 필요할 것이다.W₁x₁+W₂x₂+W₃x₃-θ 즉, 3개의 각각의 입력값에 대해 서로 다른 가중치를 적용한 값이 각 노드의 편향(임계값,  θ)보다 높은지 낮은지에 따라 신경망이 1 (반응) 또는 0 (미반응)으로 다음 노드..

[AI-05] 수치화하여 방향성 찾기: 벡터와 텐서

이전에 공부한 내용들을 종합하면, 기계가 학습을 위한 기본 이론과 로직, 그리고 그 학습이 일어나는 환경인 신경망까지 준비되었다. 이제 학습할 데이터를 입력층을 통해 입력해야 하는데, 앞서 공부한 회귀분석을 하려면 먼저 데이터를 분석할 수 있는 숫자로 만들어야 한다. 이 때 사용되는 개념이 벡터(Vector), 나아가 텐서(Tensor)의 개념이다.  이들을 이해하기 위해서 먼저 가장 기본이 되는 스칼라(Scalar)부터 살펴보면, 스칼라는 영어의 'Scale'과 같은 말로, 어떤 개체의 변하지 않는 물리량을 의미한다. 온도나 질량과 같은 값은 개체 고유의 값으로 외부의 특별한 조작 없이는 어떠한 환경에서도 일정하게 유지되며, 방향성을 가지지 않는다. 때문에 이들은 1차원적으로 표현되며, 기본적인 사칙연..

[AI-04] 학습이 일어나는 곳 : 인공신경망

기계가 학습을 하는 방법에 대해 이제까지 살펴보았는데, 물론 이러한 논리적인 측면도 중요하지만 결국에는 이 모든 논리가 일어나는 실질적인 주체가 필수적일 것이다. 이러한 학습이 일어나는 곳이 바로 인공신경망(人工神經網; Artificial Neural Network)인데, 이번 글에서는 이에 대해 다루고자 한다. 인공 신경망은 인체의 정보 처리를 모방하여 만든 소프트웨어 알고리즘으로, 우리 몸의 신경 조직인 뉴런(Neuron)과 그 주변 조직의 움직임을 본딴 형태로 구성되어 있다. 즉, 뉴런과 비슷한 역할을 하는 노드(Node)로 연결된 망(Net)을 만들어 동작하도록 함으로써, 인간과 유사하게 정보를 처리할 수 있도록 한 것이다. 각 노드는 작업의 여러 요인 중 각 하나에 대해 가설 H(x)=Wx+b에..

728x90
반응형