IT 프로그래밍

[인공지능] ML vs DL

기술1 2025. 3. 11. 21:41

인공지능은 인간의 사고방식을 어떻게 흉내낸 것인가?에 대한 것입니다.

 

인간의 사고방식을 흉내내자는 것이 AI의 핵심이라고 보시면 됩니다. 

 

머신러닝

AI가 데이터 기반으로  학습을 해서 처음보는 강아지 사진을 보여주더라도 구별을 할 수 있도록 해주는 것이라고 보면 됩니다. 데이터베이스 알고리즘이라고 보면 됩니다.

 

지도학습

뭐가 출력될지 정답을 알고 있는 상태

예) 회귀(값), 분류 

 

비지도학습

정답을 모르는 것, 군집화, 차원 축소, GAN 등이 있습니다. 

 

그룹핑을 해서 class A class B를 해주는 것이 바로 군집화입니다. 비슷한 곳에 있는 곳들을 군집화를 임의로 해준다고 보면 됩니다. 

 

차원이 많으면 학습도 어려워집니다 1920 x 1080 x 3 같은 경우 차원이 많기 때문에 이런 경우 축소를 해줘서 128 x 128 x 3이런 식으로 축소를 해주는 과정입니다.

 

자기지도학습

데이터가 많을수록 무조건 좋은데, 정답을 알고 있는 데이터가 너무 적습니다. 그랬을 때 approach를 해볼 수 있는 것입니다. 정답을 만드는 비용도 상당합니다. 

 

자기지도학습은 진짜 풀려고 했던 것 말고 다른 문제를 새롭게 정의해서 푼다는 특징이 있습니다. 네모난 위치를 우연하게 잡고 주변 위치를 살짝 랜덤하지만 규칙성있게 잡아준다면 대충 잡아질 것입니다.

 

행 렬은 랜덤하게 잡고 패치를 잡을 때 중에 하나랑 랜덤으로 잡은 것 하나를 한 모델에 주는 것입니다. 이 둘의 상대적인 위치를 출력하도록 학습 시키는 것입니다. 다른 문제를 풀어서 선학습을 하는 것입니다. 

 

새로운 문제를 풀게 하는 것이빈다. 데이터 안에서 self로 정답(label)을 만듭니다. 그래서 이름이 자기지도학습입니다. 

 

상대적인 인식을 한 다음에 분류를 하면 더 잘할 수 있지 않을까? 라는게 자기지도학습의 시초가 됐다고 보면 됩니다. 무한히 많은 데이터를 만들 수 있기 때문에 상대적 인식을 한 다음에 분류를 하면 되지 않을까? 라는 것입니다. 

 

pretext task로 context prediction을 제안했다.

 

강화학습

강아지로 가정을 할 때 행동의 연속을 훈련할 때 어떻게 훈련을 할까요? 간식을 가지고 강아지한테 손을 한 다음 강아지가 그 행동을 하면 간식을 줄 것입니다. 

 

Agent - 강아지

Reward - 간식

 

시행착오를 거듭하면 학습이 될 것입니다. reward를 받으니 행동에 대한 학습을 하게 되는 것입니다. 이는 알파고로 유명해졌습니다.  

 

 

딥러닝

입력이 들어가서 깊은 인공신경망을 가지고 학습을 하는 것이 딥러닝입니다. LAYER 층을 거치고 모델로 출력으로 나가는 INPUT과 OUTPUT의 출력이 먼 이런 것을 간단히 말해서 딥러닝이라고 합니다. 인공신경망에 대한 깊은 의미에 대해서 자세하게 후에 알아보겠습니다.

 

CNN

CNN으로 돌렸을 때 강아지면 1, 고양이면 0 이런 식으로 나열되게끔 하는 것입니다. 하나의 픽셀에는 3개의 불이 붙어있는 구조입니다. 이것이 우리가 아는 R G B 입니다. 값에 따라서 눈에 보이기에는 색깔로 보이는 겁니다. 사진 또한 3차원의 행렬이라고 보면 됩니다. 

 

딥러닝은 숫자가 들어가서 숫자가 나간다라고 보면 됩니다. 

 

RNN - 문장 -> 문장 

이런 식으로 보이지만 사실 숫자로 나타내는 것입니다. I는 1000이라고 정의하자면 am은 0100 이라고 약속하자고 가정을 해봅시다. 문장이 16개의 숫자로 나타난다면 어떤 결과 문장도 문장으로 나오는 것 같지만 숫자로 나오는 것입니다. 

 

GAN

Generative는 생성한다는 의미입니다. 여러가지를 활용해서 Fake Image를 만든다고 보시면 됩니다. G가 만든 위조를 D에 넣었을 때 출력은 0이 나와야 합니다. 그치만 G는 자기가 만든 이미지가 속도록 1이 나오도록 하고 싶어합니다. 그래서 G는 1이 나오도록 판단하도록 D를 학습하는 것입니다. 

 

그래서 둘을 동시에 학습할 수 없기에 일단 G 부분을 먼저 학습을 안합니다. 

 

G는 가만히있고 D만 학습을 합니다. 그 다음 G를 학습을 합니다. D가 속을 정도로 G가 학습을 해서 따라잡습니다. 그 다음 또 계속 반복해서 하는 것입니다. G와 D가 실력이 많이 올랐다면 출력이 어떻게 나오나면 진짜도 0.5, 가짜도 0.5가 나옵니다. G가 리얼한 이미지를 만들어서 적당히 맞추면서 50 대 50으로 맞추는 것이 바로 목표치입니다. 

이런 식으로 나오는 것을 볼 수 있습니다.