Seung-MinJi
Machine Learning and Deep Learning 본문
#머신러닝
#딥러닝
Machine Learning and Deep Learning
- 머신러닝과 딥러닝은 모두 학습모델을 제공하여 데이터를 분류할수 있는 기술
* 하지만 접근 방식의 차이가 있습니다.


Machine Learning
머신 러닝은 인공지능의 한 분야로, 컴퓨터 스스로 대용량 데이터에서 지식이나 패턴을 찾아 학습하고 예측을 수행하는 것입니다
- 머신 러닝은 주어진 데이터를 사람이 전처리를 해야합니다.
- 머신 러닝은 범용적인 목적을 위해 제작된 것으로 데이터의 특징을 스스로 추출하지 못합니다
즉, 머신 러닝의 학습 과정은 각 데이터(혹은 이미지) 특성을 컴퓨터(기계)에 인식시키고 학습시켜 문제를 해결합니다.
머신러닝의 학습과정은 크게 학습 단계와 예측 단계로 이루어져 있습니다.
먼저 학습단계에서 훈련데이터를 머신러닝 알고리즘으로 학습시키고 그 학습 결과로 모델이 생성 됩니다.
예측단계에서는 새로운 데이터를 생성된 모델에 넣어 결과를 예측합니다.
머신러닝에는 주요 구성요소는 데이터와 모델입니다.
보통 데이터는 80% 훈련 데이터와 20% 테스트 데이터로 분리하여 사용합니다. - 당연히 데이터는 나쁘지 않아야 결과가 좋습니다.

머신러닝의 학습 알고리즘은 지도학습, 비지도학습, 강화학습이 있습니다.
지도 학습 경우
- 지도학습은 정답이 있는 데이터를 통해 데이터분류/올바른 결과 예측 하는 방법 - 회귀, 분류
비지도 학습 경우
- 정답을 알려 주지 않고 특징(예 다리 길이가 짧은 초식 동물)이 비슷한 데이터(예 토끼, 다람쥐)를 범주화 하여 예측하는 학습 방법입니다
강화 학습 경우 - 워낙 복잡한 내용이기 때문에 나중에 따로 다루겠음.
- 강화 학습은 자신의 행동에 대한 보상을 받으며 학습을 진행합니다.
- 강화 학습은 보상이 커지는 행동은 자주 하도록 하고, 줄어드는 행동은 덜 하도록 하여 학습을 진행합니다.
Deep Learning
딥러닝은 인간의 신경망 원리를 모방한 심층 신경망 이론을 기반으로 고안된 머신 러닝 방법의 일종입니다.
- 딥러닝은 머신러닝과 다르게 인간이 하던 작업을 생략합니다.
- 대량의 데이터를 신경망에 적용하면 컴퓨터가 스스로 분석한 후 답을 찾습니다.
딥러닝의 학습과정
데이터 준비
초보자가 데이터를 쉽게 구할 수 있는 방법은 두 가지
- 파이토치나 케라스에서 제공된 전처리된 데이터를 사용하는 것
- 캐글(Kaggle)2 같은 곳에 공개된 데이터를 사용하는 것
모델정의
- 모델(모형) 정의 단계에서 신경망을 생성합니다.
** 일반적으로 은닉층 개수가 많을수록 성능이 좋아지지만 과적합이 발생할 확률이 높습니다.
** 즉, 은닉층 개수에 따른 성능과 과적합은 서로 상충 관계에 있다고 할 수 있습니다.
은닉층 - 입력 벡터가 자리잡는 층을 입력층(input layer), 최종 출력값이 자리잡는 층을 출력층(output layer), 입력층과 출력층 사이에 위치하는 모든 층을 은닉층(hidden layer)
모델 컴파일 - 딥러닝 할때 나중에 자세히 다루겠음.
- 컴파일 단계에서 활성화 함수, 손실 함수, 옵티마이저 를 선택합니다. 이때 데이터 형태에 따라 다양한 옵션이 가능합니다.
모델 훈련
- 훈련 단계에서는 한 번에 처리할 데이터양을 지정합니다.
- 전체 훈련 데이터셋에서 일정한 묶음으로 나누어 처리할 수 있는 배치와 훈련의 횟수인 epoke 선택이 중요
**** 한 번에 처리해야 할 데이터양이 많아지면 학습 속도가 느려지고 메모리 부족 문제를 생길수 있기 때문에 적당한 데이터양을 선택하는 것이 중요 ****
훈련 데이터셋 1000개에 대한 배치 크기가 20’이라면 샘플 단위 20개마다 모델 가중치를 한 번씩 업데이트시킨다는 의미입니다.
즉, 총 50번(=1000/20)의 가중치가 업데이트됩니다.
이때 에포크가 10이고 배치 크기가 20이라면, 가중치를 50번 업데이트하는 것을 총 열 번 반복한다는 의미입니다.
각 데이터 샘플이 총 열 번씩 사용되는 것이므로 결과적으로 가중치가 총 500번 업데이트됩니다.
모델 예측
- 검증 데이터셋을 생성한 모델에 적용하여 실제로 예측을 진행해 보는 단계입니다.
- 이때 예측력이 낮다면 파라미터를 튜닝하거나 신경망 자체를 재설계해야 할 수도 있습니다
딥러닝의 학습과정에서 제일 중요한 핵심구성요소는 신경망과 역전파
심층신경망 - 은닉층이 두 개 이상인 신경망
심층 신경망에는 데이터셋의 어떤 특성들이 중요한지 스스로에게 가르쳐 줄 수 있는 기능이 있습니다.
역전파 계산 과정에서 사용되는 미분(오차를 각 가중치로 미분)이 모델 성능에 영향을 미치는 주요한 요소
---- 파이토치를 이용하면 역전파 알고리즘을 자동으로 처리 딥러닝 알고리즘 구현이 간단하고 편리합니다.----
딥러닝의 학습 알고리즘
활용 분야에 따라 지도 학습과 비지도 학습, 전이 학습으로 분류됩니다.
지도 학습
이미지 분류는 이미지 또는 비디오상의 객체를 식별하는 컴퓨터 비전 기술입니다.
컴퓨터 비전에서 가장 많이 사용되는 것이 합성곱 신경망(Convolutional Neural Network, CNN)입니다
CNN에 목적에 따라 이미지 분류, 이미지 인식, 이미지 분할로 분류 할수 있습니다.
시계열 데이터를 분류할 때 사용되는 것이 순환 신경망(Recurrent Neural Network, RNN)입니다.
주식 데이터처럼 시간에 따른 데이터가 있을 때 RNN을 사용합니다.
- 역전파 과정에서 기울기 소멸 문제을 LSTM(Long Short-Term Memory)으로 해소합니다.
비지도 학습
비지도 학습에는 워드 임베딩과 군집이 있습니다.
- 워드 임베딩 - 자연어 처리를 할떄 컴퓨터가 이해할수 있는 자연어로 적절히 변환하는게 필요한데 이때 워드임베딩으로 단어를 백터로 표현
- 군집 - 아무런 정보가 없는 상태에서 데이터를 분류하는 방법
전이 학습
사전에 학습이 완료된 모델을 가지고 우리가 원하는 학습에 미세 조정 기법을 이용하여 학습시키는 방법입니다.

'AI' 카테고리의 다른 글
| [밑시딥] chapter 4 신경망 학습 (1) | 2023.09.25 |
|---|---|
| [밑시딥] Chapter3 신경망 (0) | 2023.09.22 |
| [밑시딥] Chapter2 퍼셉트론 (0) | 2023.09.22 |