- 2020년 7월 17일 오후 1:42
- 조회수: 3808
REFERENCES
INFORMATION
- 2020년 7월 24일
- 오후 1시 ~
- 고려대학교 신공학관 224호
TOPIC
OVERVIEW
발표자 후기
오늘은 Non-local neural networks를 주제로 세미나를 진행했다. CNN 내 1x1 convolutional filter에 대한 장점을 먼저 설명했고 이를 중점적으로 활용해 구축한 Non-local neural networks 모델에 대한 설명이 이어졌다. 먼저 1x1 convolutional filter가 지니는 장점은 크게 3가지다. 첫번째는 데이터 또는 추출한 feature 내 모든 정보를 활용하여 데이터를 분석할 수 있다는 점이고 두번째는 채널 축소, 확장이 쉽다는 것이다. 마지막으로는 다른 filter를 사용할 때보다 계산 비용이 적어 효율적인 연산이 가능하다는 점이다. Non-local neural networks은 network 구조에 대해 step by step으로 설명을 진행했다. 그리고 이 과정에서 Non-local neural networks가 지니는 장점 중 3가지를 중심으로 설명을 진행했다. 첫번째는 1x1 convolutional filter를 다양하게 활용하여 데이터 내 모든 정보를 고려해 분석한다는 점이고 두번째는 Input size와 Output size가 동일해 기존에 사용했던 네트워크 구조에 쉽게 적용이 가능하다는 점이다. 마지막으로 Self-Attention과 동일한 구조가 네트워크 내에 존재해 예측 결과에 영향을 준 요소를 파악할 수 있다는 장점도 존재한다.
이번 세미나에서는 Non-local neural networks 내 존재하는 Self-Attention 구조가 정확하게 어떻게 작동되고 있는지에 대한 이해가 부족했던 점이 아쉬웠다. 세미나 시간에 많은 연구원들이 논의했던 대로 시간 축에 대한 고려 및 설명이 더 되었다면 더 이해도 높은 좋은 세미나를 진행할 수 있었을 것 같다. 개인적으로는 본 세미나를 준비하면서 놓쳤던 부분에 대해 많은 연구원들과 논의하고 생각해볼 수 있어서 좋았다. 생각의 폭이 넓어진 것 같아 의미 있는 시간이었다. 다음 세미나에서는 개인적으로도 더 많이 생각하고 준비해서 더 가치 있는 세미나 시간을 만들겠다고 생각했다. 경청해주시고 많은 생각에 대해 논의해주신 많은 연구원분들께 감사하다고 말씀드리고 싶다.
청취자 후기
local 한 정보를 집중하는 CNN의 단점을 보충하고자 기존 CNN에 non-local module을 집어넣어 전체적인 정보를 더 잘 학습하고자 하는 개념이다.
장점은 크게 3가지인데, 첫번째는 1*1 convolution filter를 활용하여 연산량을 효율적으로 줄이고, channels를 자유롭게 조절할 수 있으며 전체 영역을 전부 고려할 수 있다는 것이다.
두번째는 ResNet, GoogLeNet, VGGNet 등 기존의 SOTA CNN 모델에서 BatchNorm 같은 Module 처럼 자유롭게 끼어넣을 수 있다는 점이다. 이는 Non-local Module의 Input과 Output 크기가 동일하기에 data shape에 영향을 끼치지 않기 때문이다.
세번째는 Attention-Score와 같은 Scheme의 measure를 통해 feature 중요도를 측정하여, 어느 부분이 모델 결과에 더 큰 영향을 미치는지를 효과적으로 파악할 수 있다는 것이다.
새로운 Network 구조라기보다는 Module의 개념으로써, 한번 구현해놓으면 다방면에서 효과적으로사용할 수 있을 것 같다. ResNet이나 VGG 등의 SOTA CNN architecture를 공부 한후, Non-Local Module이 들어간 것과 안들어간 것에 대한 Ablation study를 통해 성능 비교를 해보고 싶다. 질문이 많아서 열띤 토론이 이루어졌는데, 세미나 준비하시고 질의응답까지 열심히 해주신 인성이형께 감사의 말씀을 드린다.
오늘은 인성오빠가 ‘Non-Local Neural Networks’라는 주제로 세미나를 진행해 주셨다. 기존의 CNN은 local feature정보를 추출함으로써 correlation이 높은 주변부 픽셀의 정보까지 고려할 수 있다는 특징으로 인해 이미지 데이터에서 좋은 성능으로 활용되고 있다. 하지만, 이후에는 연산적 측면에서의 비효율성과 local하지 않은 정보에 대한 정보손실의 문제들이 제기되어 이를 반영하고자 하는 시도가 있다. 오늘 인성오빠가 다룬 non-local neural networks도 non-local한 정보들까지 반영하고자 하는 모듈이다. 해당 모듈에서 1x1 conv filter를 활용하며, 이는 feature map을 추출하는 과정에서 연산량이 줄어드는 효과를 보인다. 다만, local한 정보를 반영하지는 못한다. 다만, 효과적인 연산으로 self-attention과 같이 기존 feature map에 대해 주요한 정보에 대한 가중치를 반영할 수 있다. 더불어 해당 모듈은 input과 output차원이 동일하기 때문에 CNN구조의 layer단에서 모듈형태로 쉽게 적용가능하며, non-local한 정보 안에서 주요한 attention score를 pixel단위로 도출하여 해석력을 제공한다는 이점이 있다. 오늘 주된 논의가 이루어졌던 video데이터에 대해 어떠한 방식으로 적용되며 해석이 이루어지는지 개인적으로 더 살펴보고 싶었고, 인성오빠 연구에도 잘 녹여지면 좋을 것 같다.
최근 Attention, Self-attention에 대한 많은 연구들이 진행되고 있다. 텍스트 데이터 대한 문제 해결을 위해 두 알고리즘에 대한 연구가 시작되었지만, 이미지를 포함한 다양한 분야에서 시도되고 있다. 금일 세미나에서는 Self-attention과 동일하게 작동하며 영상 데이터의 간의 프레임의 유사성을 반영하며 모델링 할 수 있는 Non-local neural networks에 대한 내용이었다. 1x1 합성곱 연산의 조합을 이용해 Self-attention을 계산하고, 이를 이용해 프레임간 유사성을 반영하며 특징을 추출하는 과정을 설명해주었다.
나의 연구에서도 attention을 이용해보고자 공부하고 있었는데, 아이디어를 고민할 때 유용하게 참고할 수 있을 알고리즘이었다. 또한 발표자의 연구에서도 영상 내 프레임을 이용하는 것으로 아는데 Non-local neural networks ( or modules)을 활용해 연구 성과에 발전이 있길 응원한다.
이번 세미나는 "Non-Local Neural Networks"라는 논문에 대한 발표가 진행되었습니다. 오늘날 이미지 분석에는 딥러닝을 기반으로 한 CNN 모델들이 많이 사용되고 있습니다. 하지만 현재 CNN에서 사용하는 convolution filter는 이미지의 일부분만 볼 수 있기 때문에 이미지 내에서 멀리 떨어진 픽셀 사이의 상관관계를 잡아내기 위해서는 모델의 층을 많이 쌓아 convolution filter를 여러 번 적용해야 합니다. 이러면 연산이 비효율적인 뿐 아니라 학습해야 하는 파라미터의 수도 증가하기 때문에 모델을 최적화하는 측면에서 어려움이 생기게 됩니다. 따라서 해당 논문에서는 "non-local" 연산의 필요성에 대해 언급하며 non-local neural network를 제안하고 있습니다. 1*1 convolution filter는 다른 convolution filter와 다르게 한 번에 이미지의 모든 부분을 볼 수 있으며 channel 수를 쉽게 조절할 수 있다는 장점이 있습니다. 따라서 1*1 convolution filter를 활용해 non-local block을 만들게 됩니다. Non-local block은 입력값에 3개의 1*1 convolution filter를 적용하여 채널 수를 절반으로 줄인 3개의 feature map을 생성합니다. 2개의 feature map을 곱해준 후 softmax 함수를 취한 후 다른 feature map과 다시 곱해주게 되며 해당 계산과정이 self-attention과 동일한 계산과정이 되게 됩니다. 1*1 convolution filter를 통해 입력값 전체에 대해 볼 수 있게 되고 self-attention을 통해 입력값들 사이의 상관관계를 잡아낼 수 있기 때문에 non-local block은 거리가 먼 입력값들 사이의 상관관계를 계산할 수 있게 됩니다. Non-local block은 입력값과 출력값의 크기가 동일하기 때문에 기존의 CNN 네트워크에 쉽게 적용이 가능하며 다양한 모델에 적용하여 모델의 성능을 향상할 수 있게 됩니다. 이번 세미나를 통해 non-local neural network에 대해 알게 되어 의미 있는 시간이었습니다. 현재 연구 중인 CNN 모델에도 해당 논문의 내용을 적용해 본다면 성능이 향상 될 것이라 생각됩니다. 오늘 세미나를 위해 고생해준 인성이 형에게 감사의 뜻을 전하며 세미나 후기 마무리하겠습니다.
금일 세미나는 'Non Local Neural Networks'라는 주제로 인성이가 진행을 하였다. 이 방법은 CNN모델의 성능을 더 높일 수 있는 방안을 고려하며서 또한 Self-Attention Mechanism을 활용하여 해석이 가능하게 해주는 방법이다. 원래 CNN이 전체 이미지를 다 사용하면 학습량이 커지기에 이를 3*3 Convolutional Filter를 사용하여 입력크기를 줄이며 중요 정보를 요약하므로써 성능을 향상시켰다. 하지만 이는 파라미터 학습을 할때 요약정보를 사용하게 됨으로써 입력된 데이터 내 모든 정보를 잘 활용하지 못하는 경우도 생긴다. 하지만 1*1 Convolutional Filter를 사용할 경우 입력 데이터 내 모든 정보를 사용하게 된다. (예를들어 이미지의 양 사이드에 각각 사람이 있는데 한쪽 사람의 얼굴에 살짝 노이즈가 있어 이를 복원시키고 싶은데 3*3 Convolutional Filter를 사용하면 주변의 요약된 정보만 사용되어 복원이 어렵다. 이를 1*1 Convolutional Filter를 사용하게 되면 멀리 떨어져 있는 사람의 얼굴을 활용할 수 있게되어 복원이 더 잘된다.) 또한 1*1 Filter 개수에 따라 채널수를 쉽게 조절 가능하고 계산 비용이 작아져 효율성이 높아진다.
Non Local Neural Networks 는 이런 1*1 Convolutional Filter를 사용하여 전체영역을 고려하며 학습을 하게 되고 기존의 CNN네트워크 구조에 어디에나 적용이 쉽고(networks 개념이 아니라 블록의 개념으로써) 예측한 결과에 대한 Visualization이 가능하게 되었다. 해당 논문은 이미지 뿐 아니라 시간이 포함되어 있는 동영상 에서 각기 다른 시간대에 있는 이미지를 비교 가능하기 때문에 Networks라고 제목을 정한것으로 보인다. 특히 어떤 시점의 픽셀을 가지고 이전/이후 픽셀과 비교하여 설명가능한 해석을 해준다는 것에 좋은 논문이라고 생각되었다. 좋은 세미나를 해준 인성이에게 고마움을 표한다.
오늘 세미나는 Non-local Neural Networks로 인성 오빠가 진행해주었다. 세미나를 들으면서 전반적으로 non-local 모듈의 아이디어가 왜 필요한지 전달하기위해 고민한 흔적을 느낄 수 있었다. 하지만 세미나 intro에 설명된 것처럼 non-local 모듈이 1x1 convolution filter의 장점을 사용해 non-local한 특징을 추출하게 되었다기 보다는 1x1 convolution filter는 단지 입력 값을 새로운 space에 변환하는 basis function 역할을 할 뿐이고 모든 입력되는 픽셀의 특징 간 similarity(내적 연산)를 구하여 이를 활용해서 특징 추출을 하는 전반적인 연산과정에서 non-local의 장점이 드러났다고 생각한다. 해당 모듈은 video classification에서 주로 활용되는 CNN+LSTM의 단점(영상의 한 프레임을 요약할 때 다른 시점의 프레임을 고려하지 않는=long-range dependency가 반영되지 않음)을 적절하게 보완할 수 있다는 점에서 큰 의의가 있다고 생각된다. 따라서 해당 논문의 실험도 video classification task으로 수행된 것 같다. Non-local 모듈의 특징을 활용할 수 있는 상황이 많을 것 같다고 생각된다. 좋은 논문을 소개해준 인성오빠에게 감사함을 표한다. 오늘 소개된 모듈을 활용한 오빠의 연구가 잘 마무리되기를 응원한다.
금일 세미나는 "Non-Local Neural Networks"라는 논문으로 진행되었다.
Non-Local이라는 의미는 두가지로 쓰이고 있다는 것을 알게되었다.
CNN에서 N*N Convolution filter를 사용하게 되면 N이 1보다 큰 경우에 필터의 특정 값이 원래 이미지의 모든 픽셀을 다 고려하지 못하는 경우가 생긴다. 특히 N이 이미지 사이즈와 비슷해지는 경우에는 점점 그 현상이 심해지며 극단적으로 N이 이미지 사이즈와 같아지면 Convolution Filter의 각 원소가 이미지의 특정 위치 픽셀에만 영향을 미치게 된다. 필터가 이미지의 모든 픽셀을 다 거치게 만들기 위해서 1*1 Filter를 사용하고 여러 필터를 병렬로 배치하면 충분히 큰 채널을 만들어내는 것이 가능하게 된다. 따라서 필터가 특정 Local에 국한되지 않고 Non-Locality를 보장하는 것을 의미했다.
또다른 하나는 네트워크 구성 중에 Softmax를 통해 Attention Mechanism이 적용되고 동영상처럼 시간축으로 이미지가 중첩되는 것과 비슷한 데이터가 들어올 때 각 시간축이 변함에 따라 attention이 이동하는 것을 tracking하는 것이 가능해진다. 따라서 이미지 한장만을 생각하는 것(Locality)이 아니라 여러 이미지에서 중요한 부분을 찾아가는 방법(Non-Locality)을 사용할 수 있게 된다.
input과 output의 dimension이 같기에 Non-Local Neural "Module"을 어떠한 네트워크에도 쉽게 적용하게 되며 성능을 높일 수 있는 가능성을 주는 특징을 가지고 있었다.
단지 하나의 네트워크로 존재하는 것이 아니라 여러 네트워크에 도움이 될 수 있는 모듈네트워크가 존재할 수 있다는 것이 연구자로서 생각할 수 있는 길을 넓혀준 것이라 생각한다.
고마운 논문이었고 발표해준 인성아 수고했다.
오늘 세미나는 'Non Local Neural Networks'라는 주제로 백인성 연구원님이 진행해 주었다. 원래 CNN은 이미지 인식률을 높이기 위해 이미지 전체를 한번에 보는 대신 3x3, 5x5 등의 형태로 잘라서 그 안의 특징을 추출하여 인식하는 방법이다. 이는 사람의 눈이 인식하는 것과 같은 방식으로 사진을 찍을 때 포커스가 맞는 부분은 선명하게 보아서 집중하고 나머지는 포커스에 맞지 않아 흐릿하게 보듯 중요한 부분만을 정확하게 인식하기 위한 방법으로 인공지능이 이미지를 인식할 수 있게 하는데 큰 역할을 수행했다. 하지만 이미지를 국소적으로 보고 중요한 부분만을 축약하기 때문에 한 장의 이미지 안에 들어있는 정보를 모두 보존하기 어렵다는 단점이 존재한다. 오늘 논의했던 NLNN은 이러한 CNN의 단점을 1x1 Convolution을 통해 해결하는 방법을 제안했다. 1x1 Convolution을 사용하여 Input과 Output 크기가 동일하기 때문에 CNN 사이 사이에 NLNN을 삽입하여도 기존 CNN구조를 헤치지 않고 정보를 전달할 수 있다는 장점을 가진다. 또한 국소적으로 집중하여 이미지를 분석하는 기존 CNN과는 다르게 전체 이미지 정보를 축약하는 성질을 이용, Attention 기법을 접목하면 동영상과 같은 연결되는 이미지 데이터에서의 성능을 더욱 향상할 수 있음을 보여주었다. 픽셀 별로 Classification을 하기 위해 많이 사용되는 1x1 Convolution 기법의 또 다른 활용법에 대해서 알 수 있었던 세미나였다. 바쁜 일정 중에 완성도 높은 세미나를 해준 백인성 연구원님께 고맙다는 말을 전한다.
인성이형이 진행한 Non-Local Neural Network 관련 세미나를 청취했다. Convolution은 이미지의 local pattern을 반영한 feature을 생성해나가는 연산 방법이다. 여러개의 픽셀이 이루어져 하나의 이미지를 만들어 내기 때문에 convolution 연산은 지난 몇년 간 딥러닝 모델이 이미지를 이해하기 위하여 반드시 수행되어야만 하는 연산 과정이였다. 그러나 denoising 문제와 같이 feature representation시 global pattern이 오히려 중요할 수도 있다. Convolution은 이미지의 global pattern을 반영하기 위해 많은 레이어가 필요하다. 이러한 문제를 해결하기 위해 이번 세미나에서 다룬 Non-Local Neural Network 페이퍼는 1X1 Convolution + Dot Product 연산을 통해 Conv layer 사이에서 local pattern과 함께 global pattern까지 학습할 수 있는 모듈 연산과정을 제안하였다. 모듈로서의 기능을 하는 것을 제외하고는 NLP 영역에서 transformer의 self-attention의 컨셉 및 연산 과정이 동일하다고 볼 수 있다. 지난번 visual attention 세미나를 준비할 때 다뤘던 내용이였는데 자세한 연산 과정 설명과 함께 복습할 수 있는 시간이 되어 유익했다. 그리고 모든 convolution 연산을 self-attention 연산으로 대체한 stand-alone self attention 논문 이후 visual attention 쪽 연구가 어떻게 되어가고 있는지 추가적으로 공부를 해야겠다는 생각도 함께 들었다.
오늘은 인성이형이 "Non-local neural networks"에 대해 설명해주었다. 그동안 이미지(2, 3차원 구조 내 여러 변수:pixel) 형태 데이터 인식을 위해 다양한 CNN 구조가 제안되었는데, CNN이 강력한 성능을 보일 수 있었더 이유는 합성곱연산을 Local(원본이미지의 일부분)한 부분을 살펴보며 특징을 추출하고 요약하였기 때문이다. 오늘 소개해준 방법론은 Non-local, 즉 일부분만 살펴보지 말고 "pixel 전부의 관계"를 따져보자는 얘기다. "pixel 전부의 관계"를 따질 수 있는 방법은 합성곱연산을 수행하는 필터를 1X1으로 구성하고 추출된 특징맵들 간 Attention mechanism을 적용하는 식으로 이루어진다. 세세한 방법론으로 들어가 단계적으로 좀 더 스터디 해보아야겠다. 오늘 소개해준 논문의 핵심은 Local한 부분만 보지말고, 전체적인 맥락도 고려해야 한다는 점을 고려하여 특징을 추출하는 방법으로써 Nonlocally 네트워크를 구성하는 필요성을 강조한 논문으로 생각한다. 평소 CNN은 locally feature extraction 한다는 장점을 밑바탕에 두고 적용했는데 그 틀을 바꾼 논문으로 생각한다. 신선한 방법론을 소개해준 인성이형 감사합니다, 수고하셨어요!
Vanilla CNN 한 레이어는 local한 특징만을 잡아내기 때문에 receptive field를 늘리기 위해서는 레이어 개수를 늘리는 것이 일반적인 접근 방식이다. 하지만, 이번 소개된 논문(2017.11)에서는 한 블록에서 non-local receptive field를 가지는 연산 블록을 넣는 Transformer(2017.06)에서 제시한 self-attention과 사실상 같은 방식으로 계산하는 방식을 취했다. 눈에 띄었던 부분은 Input과 Output을 동일하게 해서 기존 학습되어 있던 네트워크 중간에 끼워 넣을 수 있게 한 점과, Self-attention에 대한 저자의 한마디였다. “The self-attention module [49] recently presented for machine translation is a special case of non-local operations in the embedded Gaussian version.” Attention에 대한 관점과 long-term dependency에 대해서 다시 한번 살펴 볼 수 있게 해준 인성이형에게 감사의 말을 전한다.
이번 세미나는 Non-local Neural Networks 라는 주제로 진행되었다. 기존의 CNN은 가까운 픽셀들의 관계를 이용하여 이미지의 특징을 잘 추출하는 장점이 있었다. 이러한 장점은 이미지 인식에서 상당히 좋은 성능을 보였고, 이를 이용한 많은 방법론들이 생겨났다. 하지만 가까운 픽셀들의 관계 위주로 학습을 하다 보니 전체 이미지 보다는 부분적인 디테일을 보고 이미지를 인식하였다. 예를 들어 고양이 이미지가 있을 때 고양이의 귀, 눈, 코와 같이 부분적으로는 잘 인식하더라도 전체적인 고양이의 얼굴을 인식하지 않을 수도 있다. 눈과 코의 위치가 바뀐 기괴한 모양이더라도 여전히 고양이라고 인식할 확률이 높다. 이러한 단점을 극복하기 위한 연구들이 많으며 이 논문도 어떻게 보면 이런 단점을 극복할 수 있게 해 줄 수 있다. 기존의 CNN에 덧붙여 사용할 수 있으며 앞선 CNN layer에서 추출한 이미지의 부분적인 특징들을 이미지 전체에서 위치와 상관 없이 먼 곳이더라도 잘 조합하여 인식한다. 이를 3d로 보면, 동영상에서 시간 순서와 관계 없이 관련 있는 이미지 특징을 잘 추출할 수 있게 된다. 동영상 인식에서는 시간대에 따라서 인식하려는 물체가 가려져서 일정시간동안 보이지 않을 수도 있는데, 이러한 부분에서도 유리하게 작용할 수 있을 것 같다. 논문의 내용은 사실 self-attention과 동일한 컨셉을 적용시킨 것이다. 간단하면서도 여러 분석에 적용하기에 좋은 연구인 것 같다.
이번 세미나의 주제는 Non-Local Neural Networks로 진행되었다. 오늘날 이미지 분석에서 가장 대중적인 CNN 모델과 관련 깊었던 세미나로, CNN에 대한 설명과 이미지 분석의 몇몇 분야에 대한 설명을 들으면서 세미나가 시작되었다. Convolution Filter로 이미지 중요 정보를 요약하는 것이 CNN 핵심인데, Convolution Filter가 이미지 영역의 Local한 부분만 진행이 된다면 입력 이미지의 모든 정보를 고려할 수 없는 것이 단점이다. 오늘 인성이형이 발표해주신 Non-Local Neural Network는 1 by 1 convolution filter size로 입력 데이터 내 모든 정보를 고려함과 동시에 계산 효율성을 높이고 self-Attention 기법을 통해 예측력을 향상시킨 것이다. 구체적인 장점은 인풋 이미지와 출력 이미지의 사이즈가 동일하다는 것인데, 이것은 기존에 발전된 CNN 알고리즘 어디 부분에도 병합하여 진행할 수 있게 한다. 또한 픽셀간의 유사 관계가 출력 이미지에 반영이 되어 예측을 진행할 수 있게 Self-Attention기법이 적용되어 이미지 내 픽셀값 들 중 연관 관계가 높았던 것들을 고려해 성능을 향상시킨 것이 두번째 장점이다. 이러한 장점들을 인성이형 개인 연구에 직접 적용한 사례를 볼 수 있어서 연구란 이렇게 진행되는 거구나 느낄 수 있었고, 세미나 중간 중간 토론했던 Attention의 역할도 인상 깊었던 세미나였다.
금일 세미나는 고려대학교 신공학관에서 ‘Non-Local Neural Networks’라는 주제로 백인성 연구원님께서 진행해주었습니다. 최근까지도 꾸준히 연구가 되고 있는 이미지 분석 분야에서 새롭게 등장한 방법론에 대해 들을 수 있는 시간이었습니다. 이미지 분석 분야는 많은 연구가 진행되어 일정 수준 이상의 성능을 보장할 수 있는 기법들이 여러 개 존재합니다. 그럼에도 불구하고 많은 연구자들이 CNN 모델의 성능을 높이고 특정 상황에서 설명도 가능한 방법을 연구하였고 이에 따라 나온 것이 Non-Local Neural Networks 방법론입니다.
이미지는 보편적으로 하나의 픽셀이 주변의 픽셀과 연관성이 있기 때문에 CNN은 3x3 정도의 filter를 사용하여 local한 정보를 추출하고 이를 활용하여 neural network를 구성합니다. 하지만 이미지 전체를 볼 때에는 정보를 잘 추출하는 능력이 filter size에 의존할 수 밖에 없습니다. 이를 해결하기 위해 본 세미나에서 제안된 방법론은 1x1 filter를 사용하여 그 문제를 해결하였으며 더 나아가 효율적인 연산량의 이점까지 얻을 수 있습니다. 그리고 나서 기존의 self-attention mechanism과 유사하게 연산을 통해 유사도를 계산하고 다른 이미지 특징과의 연관성을 나타내보일 수 있습니다. 또한 이 구조는 일반적인 CNN처럼 하나의 전체 구조를 나타내는 것이 아니고 block처럼 다른 CNN 구조(예를 들면 VGG16)등에 추가하여 사용할 수 있습니다. 입력과 출력의 size를 같게끔 해주는 작업을 해주어 쉽게 활용이 가능합니다. 세미나에서 예를 들어 설명해주었던 video에서 본 방법론이 어떻게 적용되는지 알 수 있어 좋았습니다. 또한 현재 진행중인 여러 프로젝트에 응용해볼 수 있는 아이디어를 얻게해준 백인성 연구원님에게 감사의 말을 전하며 마치겠습니다.
이번 세미나는 "Non-local Neural Networks"에 대하여 진행되었다. 세미나 제목만 들었을 때에는 Non-local Neural Networks라는 모델이 존재하는 것이라는 생각이 들었는데, 실제로 세미나를 들어본 결과 이는 Convolutional Neural Network를 학습시키면서 입력 데이터 내의 모든 정보를 고려하도록, 즉 local 하지 않은 정보를 고려하도록 기존의 CNN 모델에 추가하는 한 모듈임을 알 수 있었다. 더욱 자세히 살펴보면, non-local neural network는 1x1 conv filter를 활용하면서 feature map을 생성하게 된다. 이는 pixel간의 요약된 정보를 담고 있어 softmax로 확률값을 도출하는 과정에서 attention의 개념도 함께 활용하고 있다. Softmax 연산으로 도출된 확률값에 따라 pixel별 중요도를 해석할 수 있으며, 이는 input 영상의 어떠한 픽셀값들이 주요하게 작용하였는지 확인 및 시각화할 수 있도록 도와준다. 이 외에도 input 크기와 output 크기가 동일하기 때문에 기존의 CNN 네트워크 구조에 쉽게 적용이 가능하다는 특징을 갖고 있다. 딥러닝 모델에서 Attention의 개념을 적용시켜 해석이 가능한 부분을 제공한다는 것이 인상적이었으며, 영상 등을 활용하는 연구 분야에서 이러한 non-local neural network를 적용시키면 더욱 좋은 해석 및 결과를 확인할 수 있을 것이라는 생각이 들었다.
이번 세미나는 non-local neural networks에 대한 소개로 진행되었다. Non-local neural network는 기존 이미지 분류에 주로 사용되는 convolutional neural network의 convolutional layer가 local 영역에서만 feature를 추출하는 한계점을 보완하기 위해서 제안되었다. 이런 특성이 일반적인 이미지 분류 태스크에서는 잘 작동하지만, convolution 필터를 사용하기 때문에 필터 크기 이상의 영역에 존재하는 정보를 동시에 고려할 수 없다는 한계점이 있다. 소개한 논문에서는 이런 한계점을 non-local block을 통해 극복할 수 있다고 제안하고 있다. Non-local block에서는 모든 input pixel들을 대상으로 self-attention을 적용하고 각 pixel들이 어떻게 관련되어있는지를 고려한다. 이런 self-attention mechanism은 일반적인 이미지 보다도 연속된 이미지의 sequence에 해당하는 video를 분석하는 데 더 적합하다. 모델의 특성을 생각해 봤을 때 spatio-temporal data를 분석하는 데 유용하게 적용될 수 있을 것 같다.
이번 세미나는 인성이형이 Non-local neural networks를 주제로 세미나를 진행해주었다. 흔히 이미지 처리에 유용하게 사용되는 CNN알고리즘이 갖는 아쉬운 부분 중에 하나가 CNN 내 Convolutional Filter는 데이터의 일부 부분만 고려하여 학습을 진행한다. 이러한 부분은 데이터 내 Local 부분에만 초점을 두고 학습을 한다는 면에서 CNN이 갖는 아쉬운 점 중에 하나다. 이런 아쉬운 점을 해결해 줄 수 있는 방법 중에 하나가 Non-local neural networks 이다. 인성이형이 Non-local neural networks 모델이 갖는 3가지 장점에 초점을 두고 세미나를 진행해주었다. 데이터 내 일부분만 보는 것이 아니라 전체를 보기 때문에 데이터의 모든 정보를 활용할 수 있고, 채널 조절에 어려움이 없고, 모델 결과를 통해 해석도 가능한 장점이 있었다. 세미나를 듣고 해당 모델에 좀 더 공부하고 싶은 마음에 해당 논문을 보았다. 인성이형의 세미나 내용에는 행렬 연산 및 Self-Attention 구조의 이해를 돕기 위해 데이터의 높이, 너비만을 고려한 예시로 설명을 진행해주었지만, 논문에서는 비디오 데이터를 대상으로 시간이라는 정보도 함께 고려하는 모델 구조였다. 만약 처음 논문을 보았더라면 쉽게 이해하기 어려웠을 텐데, 인성이형이 세미나 내용을 이해하기 쉽도록 전달하기 위해서 시간 정보를 제외하고 설명해준 덕분에 논문을 이해하는데 큰 도움이 되었다. 인성이형의 세미나 내용과 논문의 내용을 같이 이해하니 Non-local neural networks가 갖는 장점이 더 크게 느껴졌고, 세미나 시간에 오고 갔던 질의 응답 내용까지 더해져 개인적으로 지금껏 들었던 세미나 중 이론적으로 가장 많은 정보를 얻을 수 있었다. 인성이형에게 감사하다고 전달하고 싶다.
이번 세미나는 'Non-Local Neural Networks' 주제로 인성오빠가 진행해 주셨다. 기존 Convolutional layer가 local한 부분만 인식한다는 점을 보완해주는 방법으로 제안되었다. Local 한 특성을 극복하기 위해 Convolutional layer를 깊이 쌓게 되면 상당한 연산이 발생하고 모델의 파라미터 수가 급격하게 증가하는 단점이 있다. CNN 모델에 Non-Local Neural Networks를 Block의 형태로 쌓게 되면, Non-Local Neural Networks의 1 X 1 filter를 통해 정보 손실 없이 학습이 가능하다. 또한, 1 X 1 filter을 사용함으로 써 계산 비용이 매우 작아져 효율적인 연산이 가능하고 개수 조절이 용이하여 output 채널 수 조절이 가능하다. 더불어 Self-Attention의 방법을 활용하여 모든 픽셀에 대한 attention score 산출을 통해 픽셀 별 관련된 정도를 얻을 수 있다는 기여점이 있다. Grad-CAM에 대한 지난 세미나도 명쾌하게 설명해 주셨는데 이번 세미나도 직접 도식화한 장표로 쉽게 전달해주신 인성오빠께 감사의 말 전하고 싶다.
이번 세미나는 Non-Local Neural Networks를 주제로 진행되었다. 이번에 제시되는 방법론은 CNN 모델의 성능을 높이는 것뿐만 아니라 Self-Attention 기법을 활용하였기 때문에 해석도 가능하게 하였다는 특징이 있다. 일반적으로 이미지 분석을 할 때 컨볼루션 필터를 사용하는데 크기가 2이상일 때 입력데이터를 전체적으로 고려하기 보다는 지역적(local)으로 고려하여 특징을 추출하게 된다. 반면 크기가 1인 컨볼루션 필터를 사용하게 되면 입력 데이터 내 모든 정보를 고려할 수 있고 필터 수에 따라서 출력되는 결과의 채널 수를 쉽게 조절을 할 수 있다. Non-Local Neural Networks에서는 1x1 컨볼루션 필터를 활용하여 non-local한 특징을 추출하게 된다. 그리고 self-attention에서 query key value를 사용하는 구조와 동일하게 하여 각 픽셀마다의 attention score를 구하기 때문에 예측결과에 대한 해석을 시각화를 통해서 가능하게 된다. 모델의 결과를 해석할 수 있는 또 다른 방법론에 대해서 알 수 있는 좋은 기회였고 새로운 내용을 잘 이해할 수 있도록 세미나를 준비해주신 인성이형에게 감사의 말을 전하고 싶다.