코딩하는 덕구 🐶

101. 인공지능 기초 (2) AI, ML, DL, 인공지능 기초 용어 본문

알고리즘 문제 풀이

101. 인공지능 기초 (2) AI, ML, DL, 인공지능 기초 용어

코딩하는 덕구 🐶 2023. 2. 6. 16:05
728x90

본 게시글은 패스트캠퍼스 [혁펜하임의 AI DEEP DIVE] 체험단 활동을 위해 작성되었습니다.

 

안녕하세요 코딩하는 덕구입니다.

인공지능 필수 기초 수학에 이어서 혁펜하임의 AI DEEP DIVE 강의에서 소개하는

인공지능 기초 용어에 대해 설명하겠습니다.

 

총 7개 Chapter 중 2번째 Chapter의 내용입니다.

이번 Chapter 에서는 인공지능의 기초 개념들을 다뤄주셨는데

실제 예시, 동영상 등을 통해 설명해줘서 재밌게 배울 수 있었습니다.

 

이 포스트에 나오는 그림들은 모두 혁펜하임의 AI DEEP DIVE 강의에서 나왔고,

정리가 깔끔하게 잘 되어있어서 가져왔습니다. 

 

AI vs ML vs DL

AI (Artificial Intelligence) : 인간의 지능을 인공적으로 만든 것

지능이란 예를들어 아래의 두 사진을 봤을 때 강아지인지, 고양이인지 인간은 바로 알아차릴 수 있다.

이러한 사고방식을 공학적으로 흉내내는것이 인공지능이다. 

 

AI 안에 ML이 포함되고, ML 안에 DL 이 포함된다.

AI에서 data를 기반으로 동작하면 ML(Machine learning),

ML에서 신경망 기반(DNN, Deep Neural Network)으로 동작하면 DL(Deep learning)이 된다.

이 강의에서는 노란색 부분 선형 회귀, 퍼셉트론, CNN, RNN을 중점적으로 다루고, GAN은 소개 정도만 한다.

규칙 기반 알고리즘 이란?

예를들어 강아지는 입이 튀어나와있고, 귀가 접혀있고, 다리가 4개다.

이런식으로 규칙을 정해서 들어오는 사진이 규칙을 일정 수준 이상 만족하면

강아지다! 라고 판별하는 알고리즘 입니다.

 

머신러닝은 어떻게 동작할까?

이런 검은 배경과, 뒤집어진 강아지, 흰 눈 위에 있는 강아지, 두 발로 서있는 강아지, 가려져 있는 강아지들은

규칙 기반으로 알아맞추기 쉽지 않다.

이런 사진들을 학습해서 알아 맞추는 방식이 머신러닝이다.

 

즉 내가 학습해서 규칙을 정해주는 규칙 기반과는 다르게

머신 러닝은 기계가 사진들을 보고 학습해서 알아맞춘다.

 

딥러닝 이란?

인간의 뉴런을 흉내낸 모델이다.

아래의 사진과 같이 깊은 인공 신경망으로 학습하는 것이다. 

 

딥러닝의 활용 CNN, RNN, GNN

CNN, RNN, GNN은 모두 딥러닝의 종류이다.

딥러닝은 숫자가 입력되서 숫자가 출력된다.

 

CNN의 동작 방식이다. 사진이(숫자) 입력되면, lable((숫자)강아지면 1, 고양이면 0)가 출력된다.

예시에서는 강아지면 1 고양이면 0 이라고 되어있는데, 이것은 바뀌어도 상관없다.

 

사진, 이미지도 숫자라고 했는데 이는 사실 0~255의 숫자로 이미지를 표현한 것이다.

밝을수록 255에 가깝고 어두울수록 0에 가깝게 픽셀 단위로 나눠서 표현한다.

 

컬러 이미지는? 빛의 삼원색 R(red), G(green), B(blue)

행렬이 3개 모여서 합쳐진 것이다. 결국 숫자다. 

R 255, G 255, B 255 가 합쳐지면 가장 밝은 색이 된다. 각 행렬들은 R, G, B의 밝기를 표현한다.

 

 

2 x 3 x 5x 5 의 행렬이 있다. 이를 개채행렬이라고 부르고, 이 행렬을 해석하면

2장 x 3채널(RGB) x 5행 x 5열 이 된다.

즉 RGB 3 채널을 가지는 5x5 픽셀 크기의 사진이 2장 있는 것을 행렬로 간단히 표현한 것이다.

 

RNN은 연속적인 데이터에 잘 동작한다.

문장이 들어가서, 문장이 나온것을 볼 수 있다. (사실 내부적으로는 숫자로 표현되어 있다.)

 

GNN

도둑과 경찰이 있는 모델이다.

도둑은 위조 지폐를 만들고, 경찰은 위조 된 것인지 확인하는 모델이다.

G 는 속이는 방식으로 학습하고, D는 더 잘 찾는 방식으로 학습한다.

서로 학습하는 방향이 다르다. 그래서 Adversarial이다. (적대적인)

동시에 학습할 수 는 없고, 한쪽이 학습하기 위해서는 다른 한쪽이 멈춰야 된다.

 

이렇게 G와 D를 번갈아가면서 학습을 시키면 D가 구별을 못하게 지점에 수렴하게 되는데

이것이 GAN의 목표이다.

즉 D가 구별할 수 없게 G를 학습시키는 것이 궁극적 목표이다.

 

이런 스케치를 입력해서 이런 사람들이 실제 사람이 말하는 것처럼 딥페이크 영상도 GAN을 통해 만들 수 있다.

 

실제 강의에서는 더 다양한 예시가 있다. (조금 무섭다.)

 

머신러닝에서의 분류 지도 학습과 비지도 학습

머신러닝을 4가지로 분류할 수 있다.

1. 지도 학습, 2. 비지도 학습, 3. 자기지도 학습, 4. 강화 학습

사진에서는 DL이 걸치게 그려놨는데

지도 학습 중에서는 Deep Learning이 지도학습인 경우와 아닌 경우도 있어 그렇다고 하셨다.

 

지도학습 (정답이 주어지는 학습 방식)을 통해

1. 분류(Classification)

2. 위치파악(Localization)

3. 사물 감지(Object Detection),

4. 객체 세분화(선으로 객체를 식별함)(Instance Segmentation) 등을 할 수 있다.

 

비지도 학습

정답을 모르는 상태에서 학습하는 방식이다.

군집화(Clustering), 차원축소, GAN등이 있다.

군집화는 그룹들이 어떤 의미가 있는지 모르지만, 비슷한 것끼리 군(Cluster)으로 나누는 것이다.

 

차원 축소는 특징의 손실을 최소화 하면서 차원을 낮추는 방법이다.

예를들어 2차원 데이터를 1차원 선분으로 나타내는 것이 있다. 

 

자기지도 학습

정답 데이터가 적을 때 고양이를 분류하는 문제를 풀기위해 학습하면 적중률이 낮다.

예를 들어 원래 문제인 분류가 아닌

1. 다른 문제를 정의하고 pretext task로 사전 학습을 하고,

2. downstream tast(원래 문제인 분류)를 하기 위해 transfer learning을 한다.

 

 

 

강화 학습

강아지를 훈련시키는 방식과 비슷하다.

Agent : 강아지

Reward : 간식

Environment : 훈련사 (간식 주는 사람)

Action : 원하는 행동

 

 

강아지는 최대한 많은 간식을 먹기위해 훈련사가 원하는 행동을 하게 된다.

즉 Agent가 최대한 많은 Reward를 위해 Environment가 원하는 Action을 하게 만드는 것이 강화 학습이다.

이때 Reward를 음수로 주면 잘못된 행동을 했을때 벌을 줘서 원하지 않는 Action을 못하게 할 수 있다.

 

또 다른 예시로 AlphaGo가 있다.

Agent : 흑돌

Reward : 승리

Environment : 흰돌

state : 바둑판 위치

Q-fuction : Q(s_t, q_t) 행동 가치함수 (특정 상태 s 에서 특정 행동을 취했을 때 얼마나 좋을지에 대한 값)

Action : 바둑의 수

Episode : 학습 횟수, 시도, 바둑의 판

 

 

728x90