본문 바로가기

전체 글

(125)
Non-local self-similarity 'Deep graph-convolutional image denoising' 이라는 논문을 읽는 중 제목과 같은 Non-local self-similarity 라는 단어를 접했는데 이게 무슨 쌉소리인지 잘 이해가 가지 않았습니다. 더 정확한 문장은 Non-local self-similarity is well-known to be an effective prior for the image denoising problem 지역적이지 않은 자기 유사성은,,. 이미지 디노이징 문제를 위한,,. 효과적인 prior로 잘 알려져있다...??? Image denosing problem은 Image classification, Object detection, Pose estimation 등에서 이미지가 좀 깨끗하면 그..
그래프 임베딩(Graph embedding, Deepwalk, Node2Vec, SDNE, ETC) 앞서 인접 행렬, 라플라시안 행렬 등을 말씀드리면서, 그래프를 예쁘장하게 표현한 저런 행렬들은 기본적으로 사이즈가 너무 크다는, 큰 단점이 있다. 때문에 그래프 임베딩을 통해 조금 더 저차원에 정보를 압축해 사용한다- 고 말씀드렸습니다. 그런 그래프 임베딩은 어떤 방식으로 학습되는지, 그리고 어떤 방법론들이 제시되었는지- 에 대해 정말 간략히 정리해두겠습니다. 참고로 아래 내용은 모두 NLP에서의 임베딩 방법론에 대한 지식이 어느정도 있는 것을 가정하고 작성하였습니다. A. Deepwalk: Online Learning of Social Representations (2014) 2014년에 발표된 논문입니다. 여기서 등장하는 임베딩은 NLP에서의 임베딩 방법론과 크게 다르지 않습니다. 정확히는 Word2..
그래프와 인접 행렬, 라플라시안 행렬(Adjacent matrix, Laplacian matrix) 머신러닝을 처음 공부하면, 대개 테이블로 구성된, 이미 예쁘게 정돈된, Pandas로 읽어내려 사용만 하면 되는 그런 데이터들을 접하게 됩니다. 이런 데이터를 몇 번 다루다, 이후에는 이미지 또는 자연어를 접해요. 이미지는 사실 그 자체로는 여태 보던 테이블과는 달라서, 이걸 여러 색상 포맷에 맞게끔 조작해서, 최종적으로는 행렬로 만들어 다루게 되요. 자연어도 똑같이, 어떤 문장 데이터가 있으면, 이걸 자기가 다루기 편하게 행렬로 예쁘장하게 변환하구요. 이렇게 내 용도에 맞게 약간의 조작을 거쳐야하는 데이터 타입 중 하나가 그래프인 것 같아요. 위 그림과 같은 데이터가 그래프 데이터의 예시입니다. 단순하게, 그냥 노드(Node, Vertex)와 엣지(Edge)를 가지기만 하면되요. 여기에 추가로 Node..
CNN의 흐름? 역사? CNN의 종류가 너무 많습니다. 처음 접할 때는 LeNet, AlexNet, VggNet… 정도 였던 것 같은데, 지금 저런 모델은 구닥다리로 취급되고 훨씬 좋은, 그리고 멋진 테크닉이 적용된 모델이 등장했습니다. 이번에는 이런 CNN들이 흐름대로 발전해왔는지, 그 흐름을 기록해두겠습니다. # 시작 CNN은 1989년 “Backpropagation applied to handwritten zip code recognition, LeCun, 1989” 에서 처음 소개되었습니다. # 왜 CNN? 이미지를 flat하게 펼쳐 MLP로 학습하는 것은 분명 가능하나, flat하게 펼치는 행위에서 이미지의 지역적 정보(topological information)가 날아가버리며, 해당 데이터를 추상화시키지 않고 바로 ..
Google's Neural Machine Translation System Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation이라는 논문을 읽고, PPT로 정리했던 파일을 첨부합니다.
서포트 벡터 머신 해당 개념 역시 관련한 좋은 글들이 이미 그득하니, 제가 인상깊었던 내용만을 쌓아두겠습니다. 서포트 벡터 머신(Support Vector Machine, SVM)은 어떤 그룹과 어떤 그룹을 잘 분류하는(좋은 마진을 갖는) 초평면을 찾겠다-라는 아이디어로 구성된 알고리즘입니다. 분류-라 함은 이진분류의 개념에서 생각해볼때, 어떤 인풋으로부터 다듬어진 결과가 0이냐 1이냐를 구분하는 문제입니다. 이러한 상황에서의 가장 기본적인 손실함수는 다듬어진 결과 x가 있을 때, 이 결과가 어떤 임계값(=0로 가정)보다 작으면 0, 크면 1으로 생각해볼 수 있습니다. 보통 0/1 손실함수라고 지칭합니다. 다만 이 함수는 일종의 스텝 함수(Step function)입니다. 비연속적임과 동시에 논컨벡스(Non-convex)..
쌍대문제 / 라그랑주 승수법 / KKT 조건 쌍대 문제(Dual problem), 라그랑주 승수법(Lagrange multiplier method), KKT 조건(Karush-Kuhn-Tucker Condition)은 머신러닝에서 자주 언급되는 목적함수(Object function, Loss function, Cost function, ...)의 해를 구할 때 언급되는 용어들입니다. 각각에 대한 수식적이고, 깊은 설명은 Ratsgo's blog와 같은 멋진 분들이 잘 설명해주신 글들이 많기에, 저는 간단히 흐름만 체크해보겠습니다. 저희가 머신러닝을 공부하는 과정 중에 마주치는 어떤 목적함수를 떠올려봅시다. 어떤 것이라도 괜찮아요. RMSE 따위를 가정해보면, 저희가 어떤 모델에게 원하는 학습의 방향은, 이 RMSE를 최소화하는 것입니다. 어떤 함수..
인공 신경망 / 로컬 미니멈 인공 신경망과 로컬 미니멈에 대한 내용을 다루는 글들은 많으니, 기본적은 내용은 기록하지 않고, 제가 이 책을 읽으며 인상깊은 내용만 기록하였습니다. 신경망 구조, 그러니까 네트워크 구조를 설명할 때, Bias는 Threshold라고 표현되기도 한다. Activation function, Response function, Squashing function은 유사한 의미를 지닌다. Feed-forword는 단순히 뒤로 전달할 수 없다는 뜻이 아니라, 단지 네트워크 구조상에 순환이나 회로가 없다는 것을 의미한다. [Hornik et al. 1989]는 은닉 노드가 충분히 많다면, 활성 함수로 무엇을 사용하든 다층 순방향 신경망은 어떤 함수라도 원하는 정확도만큼 근사화할 수 있다는 것을 증명했다. 그러나 은닉..