개론 강의 목록과 실습 강의 목록표를 따라 공부하면 됩니다.
개론 강의 자료는 필자가 들고 있으며, 필자의 스터디(멘토링)을 듣는 분께만 제공이 됩니다. 혹시 관심 있으신분은 cpprhtn@naver.com으로 메일 넣어주세요.
목록표의 title 제목들(파란글씨)를 클릭할 시에 내용을 볼 수 있습니다.
또한 실습 강의 목록에 있는 Number는 AI_class폴더 안의 폴더 번호와 같습니다.
Python Verson = 3.8
Jupyter notebook = 6.1.4
Tensorflow = 2.4.0
Google Colab
Number | Title |
---|---|
1 | 인공지능 소개 |
2 | 인공지능 발전의 역사 |
3 | 문제 해결 및 탐색 전략 |
4 | 휴리스틱 탐색 |
5 | 강화학습 소개 |
6 | 마르코프 과정 |
7 | 마르코프 결정 과정 |
8 | 자연어 처리 |
9 | 컴퓨터 비전 |
Number | Title | Description | Practice |
---|---|---|---|
* | 참고서 | ||
* | What is EDA | ||
* | 전처리 참고서 | ||
* | 시각화 참고서 | ||
* | 스케일링 참고서 | ||
* | 머신러닝 | ||
1 | 머신러닝의 종류 | 지도학습, 비지도학습, 강화학습, 준지도학습에 대한 설명 | |
* | 지도학습 | ||
2 | 단순회귀분석 | 단순회귀분석에 대한 설명 | 실습 |
3 | 다항회귀분석 | 다항회귀분석에 대한 설명 | 실습 |
4 | 다중회귀분석 | 다중회귀분석에 대한 설명 | 실습 |
5 | KNN | KNN에 대한 설명 | 실습 |
6 | SVM | SVM에 대한 설명 | 실습 |
* | CART(분류, 회귀 둘다 가능) | ||
7 | DecisionTree | DecisionTree에 대한 설명 | 실습 |
8 | RandomForest | RandomForest에 대한 설명 | 실습 |
* | 비지도학습 | ||
9 | k-Means | k-Means에 대한 설명 | 실습 |
10 | DBSCAN | DBSCAN에 대한 설명 | 실습 |
* | 딥러닝 | ||
11 | 딥러닝이란 | 머신러닝과 딥러닝, ANN에 대한 설명 | |
12 | 퍼셉트론 | 퍼셉트론 개념 설명 | |
13 | 활성화함수1 | 활성화 함수 설명1 | |
14 | 활성화함수2 | 활성화 함수 설명2 | |
15 | 신경망 연산방법 | 신경망 연산방법 설명 | |
16 | 신경망 구현 | 신경망 파이썬으로 구현해보기 | |
17 | 신경망 계산 | 신경망 계산해보기 | |
18 | 손실함수 | cost function 설명 | |
19 | 경사하강법 | 경사하강법 설명 | |
20 | Keras 모델 사용방법 | 케라스 라이브러리를 이용해 딥러닝 모델 생성하는 방법 알아보기 | |
* | DNN | ||
21 | DNN 실습 | 이제까지 배운 방법을 통해서 딥러닝 모델로 제작 | 실습 |
22 | DNN 실습2 | 실습 2 | 실습 |
23 | DNN 실습3 | 캐글에서 실제로 적용해보기 | |
* | 개인 프로젝트 | ||
24 | 개인 프로젝트 진행순서 | DNN모델을 이용한 개인 프로젝트 진행해보기 | |
* | CNN | ||
25 | CNN 이론 | CNN 이론에 대한 설명 | |
26 | CNN 실습 | mnist data를 이용한 CNN 실습 | |
27 | CNN 실습2 | CNN으로 개와 고양이 이미지를 분류 | |
28 | CNN 실습3 | CNN으로 의류 이미지 분류 | |
* | RNN | ||
29 | RNN 이론 | RNN 이론에 대한 설명 | |
30 | LSTM 이론 | LSTM 이론에 대한 설명 |
##Tensorflow-gpu 버전을 쓰면서 생긴 에러에 대한 해결법
from tensorflow.compat.v1 import ConfigProto
from tensorflow.compat.v1 import InteractiveSession
config = ConfigProto()
config.gpu_options.allow_growth = True
session = InteractiveSession(config=config)
import os
os.environ['TF_XLA_FLAGS'] = '--tf_xla_enable_xla_devices'
#GPU 멀티로 돌아갈 때, 단일지정 코드
import tensorflow as tf
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
# Currently, memory growth needs to be the same across GPUs
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
except RuntimeError as e:
# Memory growth must be set before GPUs have been initialized
print(e)
-
기계가 사람처럼 생각이 가능한가?
- 윤리의식이나 도덕적 행동에 대한 이해가 가능할까?
-
강화학습을 기반으로 해서, 아기키우듯이 10년, 20년 가르치면 인간처럼 활동이 가능할까?
- LOW계층에는 무의식적인 움직임, 행동이 프로그래밍 되어야?
-
신경망 이외로는 구현할 방법이 없을까?
-
인간은 누구나 실수를 한다. AI역시 실수도 할 수 있어야 하지 않나?
- 의도되지 않은 실수
- 역량을 벗어난 수행을 할 때 발생?
-
이루다 사례를 보면서, Input 데이터가 얼마나 중요한지를 다시 느낌
AI기술인 머신러닝과 딥러닝중 딥러닝을 먼저 알아야 한다고 생각한다.
우선 머신러닝 안에 딥러닝이 포함되는 개념이라고 보면 된다.
머신 러닝은 기본적으로 알고리즘을 이용해 데이터를 분석하고, 분석을 통해 학습하며, 학습한 내용을 기반으로 판단이나 예측을 한다. 이 중에서 학습하고 예측을 하는 과정에서 머신러닝과 딥러닝이 구분이 된다. 머신러닝의 경우에는 구현되어있는 라이브러리를 가져와 하이퍼파라미터 값의 조정으로 최적의 성능을 찾아내는 방법이다. 대부분의 구현된 라이브러리는 수학적 기법에 의한 것이다.
반면에 딥러닝은 뇌의 뉴런과 유사한 정보 입출력 계층을 활용해 데이터를 학습한다. 이를 달성하기 위해 딥러닝은 인공 신경망이라는 계층화된 알고리즘 구조를 사용한다. 인공 신경망의 설계는 인간 두뇌의 생물학적 신경망에서 영감을 얻어, 표준 머신 러닝 모델보다 훨씬 더 뛰어난 학습 프로세스를 제공한다.