[Coursera] DeepLearning.AI TensorFlow Developer ( Tensorflow In Practice ) 강의 정리
Course 1 : Introduction to TensorFlow for Artificial Intelligence, Machine Learning, and Deep Learning
- Week 1 - A New Programming Paradigm
- Week 2 - Introduction to Computer Vision
- Week 3 - Enhancing Vision with Convolutional Neural Networks
- Week 4 - Using Real-world Images
Course 2 : Convolutional Neural Networks in TensorFlow
Course 3 : Natural Language Processing in TensorFlow
Course 4 : Sequences, Time Series and Prediction
Week 1 - A New Programming Paradigm
The ‘Hello World’ of neural networks
X = -1, 0, 1, 2, 3, 4
Y = -3, -1, 1, 3, 5, 7
⇨ Y = 2X - 1
필수 라이브러리, 모듈, 프레임워크 불러오기
1 | |
파이썬과 keras라는 텐서플로우 API 사용
1 | |
Keras 사용하면, 신경망을 쉽게 정의 할 수 있다.
신경망은 기본적으로 패턴을 배울 수 있는 기능
Loss Function, optimizer 함수 역할
1 | |
Loss Function은 값을 측정한 후 Optimizer에 데이터를 제공하여 다음 예측 값을 알아낸다.
Optimizer는 Loss Function 데이터를 사용하여 예측이 얼마나 잘 수행되었는지 또는 잘못 수행되었는지를 측정한다.
loss='mean_squared_error', optimizer='sgd'
sgd(stochastic gradient descent)
1 | |
np.array는 Python 라이브러리의 numpy 사용
1 | |
fit 명령어로 학습 진행.
epochs=500 훈련 루프를 500번 통과
1 | |
모델이 학습을 마치면, 예측 값을 출력
숫자 10이 예측모델을 통과 할 때, Y = 2X - 1으로 19를 반환 할 것이라고 생각한다.
그러나 19에 매우 가깝지만, 정확히 19는 아니다.
이유는
- 아주 적은 데이터를 사용하여 훈련했다.
위 6개 점은 선형이지만 모든 X에 대해 관계가 Y = 2X - 1과 같을 것이라는 보장은 없다.
신경망에서 X = 10이면, Y가 19일 확률이 매우 높지만 정수는 아니다. - 신경망이 답을 알아 내려고 할 때 확률로 처리한다.
https://www.coursera.org/professional-certificates/tensorflow-in-practice