산술평균 기하평균 조화평균
1. 들어가며 이번 글에서는 평균이라는 개념에 대해 깊이 있게 다뤄봅니다. 평균에는 다양한 종류가 있습니다. 각각의 평균은 특정 상황에서 그 중요성을 발휘합니다. 이 글을 통해 산술 평균, 기하 평균, 그리고 조화 평균에 대한 이해를 높이고, 각각의 평균이 어떤 상황에서 유용하게 쓰이는지, 그리고 그것이 왜 중요한지 이해해 보겠습니다. 본문에서는 산술 평균을 설명하기 위해 시험 성적의 평균을 구하는 …
1. 들어가며 이번 글에서는 평균이라는 개념에 대해 깊이 있게 다뤄봅니다. 평균에는 다양한 종류가 있습니다. 각각의 평균은 특정 상황에서 그 중요성을 발휘합니다. 이 글을 통해 산술 평균, 기하 평균, 그리고 조화 평균에 대한 이해를 높이고, 각각의 평균이 어떤 상황에서 유용하게 쓰이는지, 그리고 그것이 왜 중요한지 이해해 보겠습니다. 본문에서는 산술 평균을 설명하기 위해 시험 성적의 평균을 구하는 …
1. 들어가며 딥러닝 또는 통계를 공부하다 보면 평가지표 개념을 반드시 접하게 됩니다. 평가지표란 성능을 수치화하여 하나의 값으로 표현하는 방법입니다. 딥러닝 모델의 성능을 객관적으로 평가하기 위해 반드시 필요하죠. 그런데 문제는 이 평가지표가 단순히 하나의 점수가 아니라는 겁니다. 정확도(Accuracy), 정밀도(Precision), 재현율(Recall), F1-Score, AUROC 등 자료마다 사용하는 평가지표가 다르죠. 이렇게 다양한 평가지표를 사용하는 이유는 각 평가지표마다 점수를 측정하는 관점이 …
1. 들어가며 Backpropagation(역전파)는 딥러닝을 이루는 핵심 알고리즘들 중 하나입니다. 따라서 반드시 직접 네트워크를 미분해 보며 그 의미를 느껴봐야 합니다. 딥러닝 모델을 연구, 개발할 때 대부분은 PyTorch, TensorFlow 등의 딥러닝 프레임워크를 사용하는데요. 이러한 프레임워크들은 대부분 Backpropagation을 위한 자동 미분 메서드를 제공합니다. 따라서 특별한 경우를 제외하면 Backpropagation을 위한 코드를 직접 짜는 경우는 잘 없습니다. 그런데 왜 굳이 …
1. 들어가며 딥러닝 모델은 역전파 알고리즘을 사용하여 학습합니다. 딥러닝 모델의 학습이란 Loss 값이 작아지는 방향으로 모델의 가중치를 업데이트하는 것이죠. 이때 모델의 가중치들은 아주 복잡하게 얽혀 있습니다. 따라서 가중치 값을 업데이트할 때 서로 간의 연관관계를 고려하여 업데이트해줘야 합니다. 이렇게 서로 얽혀있는 변수 간의 상관관계를 계산하는 방법이 Chain Rule입니다. 구체적으로 Chain Rule은 여러 개의 변수가 조합된 수식을 …
1. 들어가며 Convolutional Neural Network(CNN)는 가장 유명한 딥러닝 네트워크 중 하나입니다. 이미지뿐만 아니라 시계열 데이터를 다루는 데에도 강력한 성능을 보이죠. 딥러닝의 부활은 2012년 발표된 AlexNet으로 시작되었습니다. 이 AlexNet의 성공은 CNN의 사용 덕분이라고 해도 과언이 아닙니다. Convolutional Neural Network 는 기존 Fully Connected Network(FCN)과는 차별화되는 결정적인 장점이 있습니다. 바로 위치가 다른 물체도 동일한 물체로 인식할 수 …
1. 들어가며 지난 글에서는 Translation Invariant 네트워크를 만드는 과정을 살펴봤습니다. Fully Connected Network(FCN)로 강아지와 고양이 이미지를 구분하는 과정을 따라가 보았죠. 이 과정에서 FCN에서는 필연적으로 데이터의 위치 의존성을 가질 수밖에 없음을 알 수 있었습니다. 이를 해결하기 위해 다양한 방법을 살펴봤는데요. 대표적으로 Convolution과 Pooling 연산을 도입하였습니다. 이렇게 Convolution과 Pooling 연산을 조합하여 구성한 네트워크가 Convolutional Neural Network (CNN) 임을 …
1. 들어가며 다양한 딥러닝 네트워크에서 1×1 convolution 연산을 사용하는 모습을 자주 볼 수 있습니다. 대표적인 초창기 네트워크로 GoogleNet (Inception), ResNet을 들 수 있습니다. GoogleNet에서는 1×1 convolution을 사용하여 연산량은 줄이면서도 성능은 향상할 수 있었죠. Convolution 연산은 넓은 window에서의 정보를 추출하는 연산인데요. 이러한 관점에서 생각했을 때 1×1 convolution 연산은 어떠한 장점이 있는지 쉽게 떠오르지 않습니다. 1×1 convolution은 …
1. 들어가며 이미지 데이터 처리를 위한 딥러닝 모델에는 CNN이 있다면, 시퀀스 데이터 처리를 위한 딥러닝 모델에는 RNN이 있습니다. RNN의 등장 이후로 시퀀스 데이터 처리 네트워크는 발전을 거듭하였습니다. 그 결과 RNN은 현재 많이 사용되고 있는 네트워크는 아닙니다. 하지만 RNN은 시퀀스 데이터를 처리하는 네트워크 철학의 근간을 형성한 중요한 모듈입니다. 이번 글에서는 RNN이 왜 필요했는지, 어떤 방법으로 시퀀스 데이터를 …
다양한 일상 생활과 딥러닝의 사례를 통해 Attention의 개념을 설명합니다. 언어 모델과 비전 모델에 적용된 Self Attention의 원리를 최소한의 수식으로 쉽게 이해해봅니다. 파이썬으로 Self Attention을 구현해 봅니다.