아래 내용은 내가 텐서에 대해 이해한 내용을 정리하기 위해 적은것이다. 부정확한 내용이 있을 수 있으며, 그것에 대해선 책임지지 않는다. 틀린 것은 대해선 댓글로 알려주시면 감사..
내가 접한 Tensor은 두가지 였다. 하나는
1. 이런 뇌신경 DTI 을 나타낼때 방향이 있는 저 하나하나 요소들을 tensor라고 불렀던것 같고
2. 딥러닝 텐서플로에서 쓰는 텐서라는것이 있다.
뇌신경DTI영상에선 가상의 신경다발 뭉치가 향하는 특정 방향과 그 세기 정도를 나타내는 척도 였으며, 3차원(볼륨)을 넘어선 볼륨+방향을 나타냈었다.
딥러닝에서 텐서란 2차원 배열의 n차원확장이 된 array의 형태를 텐서라고 불렀는데, (multi-dimensional array)
grayscale 이미지라면 [ [0 , 0, 0, ],
[1, 1, 0],
[0, 0, 0] ] , 이렇게 (A,A) 2차원으로 나타내지만, rbg image는 r,g,b채널이 각각있어, (3,A,A) 이런 텐서의 형태로 나타낸다.
물리학의 수준으로 내려가면 텐서란 너무 복잡한 개념인데 내가 아주 간단버전으로 이해한 바로는,
스칼라와 벡터만으로 표현할 수 없는 무언가를 나타내기 위해 도입한 개념이 텐서이며 (시간, 공간, 질량, 등등..)
단순히 차원의 확장을 의미하진 않는다. 예를 들어 3차원의 공간의 0차 텐서는 질량이 될 수 있다. 텐서는 차원과 텐서 성분의 수를 분리해서 생각하는것 같다. https://ko.wikipedia.org/wiki/%ED%85%90%EC%84%9C
텐서는 스칼라와 벡터를 포함하는 개념이고,
0차 텐서 - 3차원 공간 의 0차 텐서의 예 - 질량
1차 텐서 - 3차원 공간 의 1차 텐서의 예 - 속도
이런식인데, 더 자세한건 이해하기 어렵고..
DTI의 텐서나 Tensorflow의 텐서나 물리학에서 말하는 텐서의 개념을 가져온것을테니, 일맥상통하는 부분이 있는것 같고, 유사한 느낌(?) 이 든다.
기존 2차원 혹은 3차원의 index의 채널 또는 차원의 확장 개념으로 Tensor로 받아들이면 일단 문제는 없을듯 하다.
'machine learning' 카테고리의 다른 글
network visualization library (0) | 2021.11.09 |
---|---|
tensorflow 1 -> tensorflow 2 변환 (0) | 2020.10.30 |
keras dataset : imdb (0) | 2020.03.02 |
precision at K, MAP, recall at K (0) | 2019.10.12 |
negative sampling (0) | 2019.08.12 |