딥러닝을 위해 필요한 3가지를 뽑아보자면, 1) 데이터, 2) 컴퓨터, 3) 프로그램 입니다.
1) 데이터
딥러닝은 데이터를 이용해 예측 또는 판별을 수행하는 것을 말하며, 이는 아래와 같이 설명할 수 있습니다.
주어진 데이터를 대상 알고리즘을 ‘학습’ 시키는 용으로 사용(학습용 데이터 / Training data)하여, 주어진 데이터를 잘 예측해낼 수 있는 최적의 알고리즘을 찾아내고,
이렇게 만들어진 알고리즘을 이용하여 새로운 테스트용 데이터(실험용 데이터 / 테스트 데이터 / Test data)를 얼마나 잘 예측해낼 수 있는지 판단해보는 것이, 머신러닝(딥러닝을 포함) 입니다.
특히, 분류(Classification) 문제의 경우에는, 사용되는 데이터에 이름표가 있는지(Data labeling)에 따라서 두 종류로 나누어 볼 수 있습니다.
하나는 ‘지도학습(Supervised Learning)’이며, 나머지 하나는 ‘비지도학습(Unsupervised Learning)’으로 칭할 수 있습니다.
a) 지도학습 : 데이터에 이름표가 있는 경우
예를 들어 개와 고양이 사진으로 이루어진 데이터가 있다고 가정해보겠습니다. 각각의 사진에 ‘개’ 또는 ‘고양이’라고 이름표가 붙어 있다면, 개 사진을 보고 ‘개’라고 판별하고 고양이 사진을 보고 ‘고양이’라고 판별하는 딥러닝 모델을 만들어내는 것을 지도학습이라고 합니다.
b) 비지도학습 : 데이터에 이름표가 없는 경우
여러장의 사진이 있고 각각의 사진에 어떠한 이름도 적혀져있지 않은 상태에서 공통적인 특징들을 통해 사진들을 분류해내는 것을 비지도학습이라고 합니다.
2)컴퓨터
딥러닝을 작동시킬 환경을 의미합니다. 이는 일반 CPU 컴퓨터에서 동작시킬지, 아니면 고속 그래픽 처리에 특화된 전용 프로세서인 GPU에서 동작시킬지 선택할 수 있습니다.
현재는 GPU의 성능이 워낙 우수하여 GPU기반으로 학습을 시키는 것이 더 빠르다고 할 수 있습니다.
3) 프로그램
이러한 알고리즘을 구현할 프로그램을 선택하는 것도 중요한 일 중에 하나입니다. 다양한 프로그램들이 존재하지만, 가장 많이 사용되는 프로그램인 파이썬(Python)을 추천해드립니다.
그 이유는
a) 가장 많이 사용하기에, 내가 만들고 싶은 알고리즘의 예제들을 손쉽게 구할 수 있으며,
b) 오픈 소스 기반의 프로그램이며 많은 사람들이 사용하기에 프로그램의 성능 및 편의성이 점차 업그레이드 되고 있습니다.
c) 또한, 구글 코랩(Google colab)을 통해 인터넷만 된다면 자신의 PC 사양에 상관없이 어디서든 쉽고 빠르게 사용할 수 있기때문입니다.
인터넷 기반으로 협업도 가능한 파이썬 기반의 프로그램은, 대표적으로 구글 코랩과 주피터 노트북이 있습니다. 이 둘의 장 단점은 아래와 같은데요
구분 | 장점 | 단점 |
코랩 | - 설치가 필요 없음 - 구글의 GPU와 TPU를 무료로 사용해 빠른 실행이 가능 - 구글 드라이브와 연동 가능 |
- 아무 작업도 하지 않을 경우 90분 후 세션 종료 - 최대 세션 유지시간은 12시간(무료버젼) |
주피터 | - 세션 유지 시간의 제약이 없음 | - 아나콘다를 설치해야 이용 가능 - 컴퓨터 사양에 작업 성능이 종속 |
위 장단점 중 무엇보다 ‘자신의 PC의 성능에 제약을 받지 않고 연산을 구글의 클라우드가 대신 해주는 점’ 때문에 현재는 코랩을 많이 사용하는 추세입니다.
이외에도 내장 라이브러리가 많다는 점 등 여러가지 이점 때문에 코랩을 통해 작업하시는 걸 추천드립니다.
'파이썬(Python), 머신러닝, 딥러닝' 카테고리의 다른 글
딥러닝 기초 - (2)선형회귀(최소제곱법) - 파이썬으로 코딩 (0) | 2022.06.22 |
---|---|
딥러닝 기초 - (1) 선형 회귀(Linear regression) 개념 (0) | 2022.06.21 |
딥러닝(Deep learning)이란? 딥러닝 vs 머신러닝 vs 인공지능(AI) (0) | 2022.06.11 |
파이썬 누락 데이터 제거 (dropna) / dropna / python (0) | 2021.11.26 |
머신러닝이란? / 머신러닝 / 머신러닝 기법 (0) | 2021.11.19 |
댓글