TensorFlow 그라데이션 테이프
TensorFlow는 동적 기계 학습 및 딥 러닝 분야를 위한 일관된 프레임워크 및 호환 가능한 작업 영역이 되는 데 중요한 역할을 했습니다.
가장 과장된 영역 중 하나는 신경망이며, 그 작동 원리는 경사 하강법 알고리즘의 도움으로 쉽게 입증될 수 있습니다. 그리고 TensorFlow는 이 경험을 향상시키는 데 필요한 거의 모든 라이브러리를 보장합니다.
기본 개념에 따르면 신경망은 인간의 뇌 세포가 작동, 결정, 인식 및 기능하는 방식입니다. 우리의 처리 장치는 한 번에 입력된 정보만 기억할 수 있습니다.
오히려 학습 속도를 따르고 상황 처리에 따라 연속적으로 수정합니다. 이 과정에서 비용 함수
또는 손실 함수
또는 부분 미분
또는 기본 용어 기울기
라는 중요한 용어가 있습니다.
개념을 시각화하기 위해 공통 개념인 “선형 회귀” 모델을 보여주려고 했습니다. 기계 학습의 초보자가 아니라면 이미 익숙하다고 가정합니다.
이 모델이 하는 일은 회귀선의 도움으로 독립 변수와 종속 변수 사이의 관계를 추출하는 것입니다.
회귀선을 설정하는 동안 이 특정 사례의 기울기
인 오차 제곱합(SSE)
을 알아야 합니다. 모델을 훈련할 때 SSE
가 최소값이 될 것으로 예상합니다.
끊임없는 과정은 이 훈련에만 도움이 됩니다. 여기에서 지정된 방정식의 출력을 계산하고 기울기 x 학습 속도
로 드라이버 값을 다시 초기화합니다.
학습률
은 우리의 손실 함수
가 갑작스러운 결과를 나타내지 않도록 안정성을 보장합니다.
기본 값을 시작한 후 그라데이션에 따라 기본 값을 업데이트합니다. 이 역방향 패스는 모델이 제대로 학습되었는지 확인하는 데 필요합니다.
그래디언트 테이프는 업데이트된 입력
및 출력
과 함께 비용 함수
를 연속적으로 저장하는 구성 요소입니다. 따라서 값의 세부 사항과 함께 전체 절차의 완전한 그림을 얻습니다.
예제를 통해 메서드를 시각화해 보겠습니다.
TensorFlow에서 그라데이션 테이프 사용
이 섹션에서는 이론적 개요를 다루지 않습니다. 오히려 실용적인 코드를 따라가며 그래디언트 테이프에 어떻게 의존하는지 보여주려고 노력할 것입니다.
이제 코드 베이스로 이동하겠습니다. 인스턴스에 Google Colab
을 사용하고 있습니다.
처음에는 라이브러리 가져오기를 설정하고 드라이브에 대한 임의 데이터 세트를 생성합니다. 또한 변수가 어떻게 작동하는지 보기 위해 산점도를 그릴 것입니다.
# Necessary Imports
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
import os
# Generating random data
x = np.random.uniform(0.0, 1.0, (200))
y = 0.3 + 0.5 * x + np.random.normal(0.0, 0.3, len(x))
# x
# y
plt.scatter(x, y)
plt.xlabel("Independent")
plt.ylabel("dependent")
plt.show()
출력:
다음 코드 펜스에는 회귀 모델과 손실 함수 선언이 포함됩니다. 집중해야 할 중요한 부분은 회귀 모델이 종속 변수 y
에 대한 예측 값을 출력하고 방정식은 다음과 같다는 것입니다.
<사업부>
$$
\모자 y = a + b * x
$$
여기서 x
는 모델의 입력이라고도 하는 독립 변수입니다. 주로 주어진 y
와 예측된 y^
사이에 최소 오류가 있는지 확인하려고 합니다.
손실 함수에는 오차 제곱합(SSE)이 포함됩니다.
<사업부>
$$
SSE = \sum(y_i-\hat y_i)^2
$$