뇌를 연구해보니 놀라운 사실이 2가지 밝혀졌다.
1. 뇌가 복잡하게 연결되어 있다.
2. but 자세히 보니 뉴런이라는 단위는 단순하게 동작한다.
2-1. 여러개의 input(X)이 XW+b되고 어떤 정도를 넘으면 활성화
1. 고양이에게 그림을 보여주고 시신경이 어떻게 동작하는지 실험
2. 그림의 형태에 따라 일부만 활성화 됨
3. 우리의 신경망 세포가 동시에 전체를 보는줄 알았는데 부분 부분이 나중에 조합되는 걸 발견
'['의 개수 가 rank
1,2,3,4 ->4
x,y,z ->3
X,Y ->2
전체 ->1
따라서 shape은 (1,2,3,4)
Axis
*)rank가 4니까 axis 0~3까지 4개
>>> t1 = [[1, 2, 3], [4, 5, 6]] # dim = 2
>>> t2 = [[7, 8, 9], [10, 11, 12]] # dim = 2
>>> tf.concat([t1, t2],0) # axis = 0
<tf.Tensor: shape=(4, 3), dtype=int32, numpy=
array([[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]])> # dim = 2
t1 과 t2는 모두 2차원 ( 2 X 3 )행렬이라고 생각하자.
axis 는 붙이는 축이라고 생각하면 쉽다.
axis = 0 이라는건 가장 높은 차원을 기준으로 합치는 것이다.
모두 2차원의 행렬이니 1차원은 그대로 두고 2차원의 위치를 붙여준다.
결과는 (4 X 3) 행렬이 나온다.
3차원 tensor 자료는 어떻게 합쳐질까?
>>> t1 = [[[1, 2, 3], [4, 5, 6]]]
>>> t2 = [[[7, 8, 9], [10, 11, 12]]]
>>> tf.concat([t1, t2],0)
<tf.Tensor: shape=(2, 2, 3), dtype=int32, numpy=
array([[[ 1, 2, 3],
[ 4, 5, 6]],
[[ 7, 8, 9],
[10, 11, 12]]])>
t1 과 t2는 모두 3차원 ( 1 X 2 X 3 ) tensor라고 생각하자.
위의 2차원 모양과 달라진 것이 있다면 차원이 추가 된 것 뿐이다.
이번에는 차원이 3차원이다.
두 tesnor를 axis = 0에 tf.concat 하면 1,2 차원의 모양은 그대로 두고,
자연스럽게 ( 2 X 2 X 3 )의 모양이 된다.
axis=1 이면 1 X 4 X 3
one_hot시 자동으로 expand되는 데 싫으면 reshape
똑같은 모양으로 전부 0,1 인거 만들어줌
한방에 처리
'모두를 위한 딥러닝' 카테고리의 다른 글
* [DL] 모두를 위한 딥러닝 9-2 Backpropagation (0) | 2022.04.03 |
---|---|
[DL] 모두를 위한 딥러닝 9-1 Neural Nets(NN) for XOR (0) | 2022.04.03 |
[DL] 모두를 위한 딥러닝 7-4 MNIST 실습 (0) | 2022.04.02 |
[DL] 모두를 위한 딥러닝 7-3 (0) | 2022.04.02 |
[DL] 모두를 위한 딥러닝 7-2 (0) | 2022.04.02 |