반응형

Tensorflow 공부를 시작하기에 앞서 위키북스의 "시작하세요! 텐서플로 2.0 프로그래밍"이라는 책을 사용하여 공부했음을 명시한다.


Tensorflow(텐서 플로우)란

"tensor가 흐른다"라는 뜻을 지닌다. 여기서 tensor는 값을 지닌 벡터와 행렬을 뜻한다.

따라서 Tensorflow란 벡터와 행렬 등을 이용한 계산을 통해 원하는 결과값을 도출해내는 것이다. 우리는 이 tensorflow를 이용하여 인공지능을 만들어볼 것이다.


Tensorflow를 초기화하는 방법

Tensorflow를 초기화하는 방법에는 크게 두 가지로 Xavier나 He 초기화를 사용한다. 이 초기화 방식들은 랜덤하지만 어느 정도 규칙성이 있는 범위 내에서 난수를 지정한다. 난수를 생성하는 방법은 아래와 같다.

 

균일 분포

가장 먼저 균일(uniform) 분포를 사용하는 방법이다. 균일 분포란 모두 같은 확률로 균일하게 뽑히는 것을 뜻한다.

rand = tf.random.uniform([4], 0, 1)

위의 코드를 출력해보면 0과 1사이의 숫자 4개를 같은 확률로 뽑아서 출력하는 것을 볼 수 있다.

 

정규 분포

두 번째로 정규(normal) 분포를 사용할 수 있다. 정규 분포란 평균값을 중심으로 표준편차를 만족하는 종형 곡선(bell curve)를 그리는 분포 형태이다.

rand = tf.random.normal([4], 0, 1)

위의 코드를 출력하면 평균값을 0, 표준편차 1을 만족하는 정규 분포에서 뽑은 값을 출력할 수 있다.

 

위와 같은 방식 중 하나를 선택하여 신경망을 초기화할 수 있다.

728x90
반응형