본문 바로가기
machine learning

텐서(Tensor)란

by 단창 2020. 3. 3.

아래 내용은 내가 텐서에 대해 이해한 내용을 정리하기 위해 적은것이다. 부정확한 내용이 있을 수 있으며, 그것에 대해선 책임지지 않는다. 틀린 것은 대해선 댓글로 알려주시면 감사..

 

내가 접한 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