2차시 – 머신러닝, 딥러닝 파헤치기

주완·2022년 4월 11일
2

AI 미션 클리어

목록 보기
2/9
post-thumbnail

💡 인공지능의 등장

아서 사무엘 명시적인 프로그래밍없이도 컴퓨터가 스스로 학습할 수 있도록 하는 학문 지적 활동 능력

"프로그램이 데이터를 통해 스스로 학습 하면 어떨까?"라는 아서 사무엘 생각에서 머신러닝 시작되었다. 머신러닝이 학습한 경험으로 새상품이 어떤 카테고리인지 분류하는 인공지능을 개발할 수 있다.



📑 머신러닝의 학습 방법

지도학습

이미 정답인 label이 있는 데이터를 이용해 학습하는 방법

label : 어떤 대상의 특징에 따른 정답
라벨링 : 어떤 대상의 특징에 따라 정답을 표기하는 것
label이 된 데이터 : 라벨링 된 대상에 표기된 데이터
트레이닝(데이터) 셋 == 훈련데이터 : 라벨링 된 데이터의 모음

트레이닝 셋을 통해 학습해 분류모델을 만들고, 분류모델을 테스트할 때는 새로운 데이터인 테스트 데이터를 사용한다. 이때, 테스트 데이터는 라벨링 되어있지 않다. 레이닝 셋은 형태에 따라 분류와 회귀 분석으로 나뉘어진다.

1. 분류

문제와 정답이 정확히 인간이 정해 놓은대로 딱 맞아 떨어지는 경우

2. 회귀분석

문제와 답이 정확히 존재한다기보다 문제와 답의 관계가 인과성을 지닌 연속적인 수치
로 나타나는 데이터 셋을 사용하여 학습하는 것

<회귀분석의 과정 예시>
1. 각 사진에 사람이 라벨링을 함
2. 트레이닝 셋을 학습 시킴
3. 테스트 데이터를 통해 라벨이 딱 붙음
4. 알맞은지 확인 가능

라벨링이 되어있는 트레이닝 셋은 정답과 답이 매핑되어 있다고 한다.

y = f(x)

x : 원인, 문제, input
y : 결과, 답, output
f : 관계 풀이(function)
이러한 수식으로 이루어진 그래프를 통해 해석할 수 있고, 이를 통해 정확한 예측을 할 수 있게 되는데 이러한 과정이 회귀분석이다.

비지도 학습

라벨이 없는 데이터를 군집화 하여 새로운 데이터에 대한 결과를 예측하도록 학습하는 방법

유사한 속성값을 갖는 군집으로 만들 수 있기 때문에 유사도 함수가 중요하고, 라벨링이 되어있지 않은 데이터로 부터 유사한 속성을 찾아내야 해서 지도학습에 비해 난이도가 있다. 트레이닝 셋을 학습시켜 유사도를 측정해 군집화 하는데 이러한 비지도 학습을 지도학습에서 적절한 특징(feature)을 찾아내기 위한 전처리 방법으로 이용하기도 한다.


이러한 인공지능의 학습과정은 사람의 지능과 매우 닮아 있다는 것을 알 수 있다. 지도학습은 우리가 교과서를 통해 수업하며 학습하는 과정과 비슷하고, 비지도 학습은 여러 경험을 통해 학습하는 과정과 유사하다.



💡 딥러닝

학습 목적에 적합한 특징, 속성을 자동으로 추출하고 이를 이용해 우수한 성능의 학습 수행하는 것

뉴런은 수상돌기에서 신호를 받아 전달하는데 이때 뉴런 한 개와 기계학습은 비슷한 구조를 지녔다. 이러한 구조 여러개가 복잡하게 얽혀있는 것을 심층 신경망이라고 한다.



🔎 딥러닝의 특징

퍼셉트론
1957년, 플랑크 로젠블라트가 만든 인공 신경망 최초의 알고리즘으로 뉴런으로 이루어진 신경망 구조를 수학적으로 본 뜬 구조를 의미한다.

입력데이터에 가중치가 실리고 활성화 함수를 통해 전달할지 판단하여 출력을 내보내는 구조인 퍼셉트론이 복합되어 신경망이 만들어지고, 이러한 신경망은 입력층, 은닉층, 출력층으로 나뉜다.

신경망의 구조

입력층 : 입력뉴런(노드)으로 이루어진 입력데이터를 받는 층
은닉층 : 은닉뉴런(노드)으로 이루어진 입력과 출력사이에 존재해 계산을 하는 층
출력층 : 출력뉴런(노드)으로 이루어져 최종 출력을 하는 층


은닉층이 2개 이상일 때부터 심층 신경망이라고하며 딥러닝이다. 층들의 노드간에는 연결강도를 나타내는 가중치가 존재하는데 가중치란 이전층의 어떤 노드의 결과값을 얼마나 신뢰할 것이냐를 의미한다. 신경망에는 방향성이 존재하는데 순전파와 역전파가 있다.


순전파 : 입력-은닉-출력 순서, 출력값 - 실제값 = 손실(error)
초반에는 손실값이 크기 때문에 손실을 최소화하는 학습 필요하다.

역전파 : 역방향으로 계산하여 손실을 최소화할 수 있도록 가중치를 업데이트

딥러닝은 순전파와 역전파를 반복하며 적합한 가중치를 스스로 찾아내고 우수한 성능을 가진 인공 신경망 생성하게 된다.



📌 배치, 에포크, 반복

적절한 학습시간, 좋은 성능 등의 최적화를 위해 배치, 에포크, 반복이 필요

배치(batch)

트레이닝 셋을 배치 사이즈로 작게 나누는 것을 의미
배치 사이즈 : 전체 트레이닝 셋을 여러 작은 그룹으로 나누었을 때, 하나의 소그룹의 속하는
데이터 수를 의미
배치 폼 : 배치 사이즈가 나누어진 형태

<배치를 사용하는 까닭>
트레이닝 데이터를 통째로 신경망에 넣으면 비효율적인 리소스 사용으로
학습시간이 오래걸리기 때문
에 배치를 사용해 효육적 리소스 사용이 가능하도록 한다.

에포크(epoch)

전체 트레이닝 셋이 신경망을 통과한 횟수
1-epoch는 전체 트레이닝 셋이 하나의 신경망에 적용되어 순전파와 역전파를 통해 신경망을 1번 통과한 것을 의미한다.

반복

1-epoch를 마치는데 필요한 미니 배치 개수를 의미
미니배치가 신경망을 통과할 때마다 가중치 업데이트가 된다.

만약 배치사이즈가 크면 한번에 처리하는 양이 많아 학습속도가 느려지며 메모리가 부족해지는 문제가 발생한다. 배치사이즈가 작으면 속도는 빠르나 가중치 업데이트가 빈번하게 일어나 불안정하게 훈련될 수 있다. 그러므로 3가지 요소를 적절히 잡아주는 것이 중요하다.

profile
배움을 기록하자

0개의 댓글