DeepLearning_summary

[케라스 창시자에게 배우는 딥러닝] 신경망의 수학적 구성 요소02

jiwoolee 2021. 1. 18. 14:23

심층 신경망이 학습한 모든 변환을 수치 데이터 텐서에 적용하는 몇 종류의 tensor operation으로 나타낼 수 있다. 

output=relu(dot(W,input)+b)

위 예시에는 텐서 연산이 3가지가 존재한다. 

1. 입력 텐서와 텐서 W 사이의 점곱

2. 점곱의 결과인 2D 텐서와 벡터 b 사이의 덧셈

3. relu 연산

더보기

relu: 입력값이 0보다 작으면 0으로 출력, 0보다 크면 입력값 그대로 출력하는 유닛

 

 

 

 

 

 

 

3.1 원소별 연산

위 예시에서 relu 함수와 덧셈은 원소별 연산 element-wiwse operation이다. 텐서에 있는 각 원소에 독립적으로 적용되는 연산이다.

 

3.2 브로드캐스팅

크기가 다른 두 텐서가 더해질 때 모호하지 않고 실행이 가능하다면 작은 텐서가 큰 텐서의 크기에 맞추어 브로드캐스팅 broadcasting이 된다.

  1. 큰 텐서의 ndim(차원)에 맞도록 작은 텐서에 축(=브로드캐스팅 축)이 추가된다
  2. 작은 텐서가 새 축을 따라 큰 텐서의 크기에 맞도록 반복된다

실제 구현할 때는 새로운 텐서가 생기면 비효율적이므로 아무런 2D 텐서도 만들어지지 않는다. 반복되는 연산은 대단히 가상적이지만 새로운 축을 따라 벡터가 N번 반복된다고 생각하는 것이 이해하기 쉬우니 그렇게 이해하도록 하자.

 

 

 

3.3 텐서 점곱

**주의: 원소별 곱셈과는 다르다

          원소별 곱셈은 * 연산자, 점곱 연산에는 dot 연산자

텐서 곱셈 tensor product이라고도 부른다. 가장 널리 유용하게 사용되는 텐서 연산으로 원소별 연산과는 반대로 입력 텐서의 원소들을 결합시킨다. 

**주의: 두 텐서 중 하나라도 ndim이 1보다 크면 dot 연산에 교환법칙이 성립하지 않는다

더보기

(추가 이해 필요)

 

 

 

 

3.4 텐서 크기 변환

텐서의 크기 변환 = 크기에 맞게 열과 행을 재배열

자주 사용하는 크기 변환은 전치 transposition. 행렬의 전치는 행과 열을 바꾸는 것이다.

 

 

 

 

 

3.5 텐서 연산의 기하학적 해석

3.6 딥러닝의 기하학적 해석