전체 글
-
[GAN]Generative Adversarial Networks(NIPS 2016)Artificial Intelligence/Deep learning 2021. 9. 10. 13:31
딥러닝의 3대 석학이라고 불리는 얀 르쿤(Yann LeCun) 교수가 GAN(Generative Adversarial Network)을 가리켜 최근 10년간 머신러닝 분야에서 가장 혁신적인 아이디어라고 할 만큼 GAN은 가장 많은 관심을 받고 있는 기술 중에 하나이고 재미있는 연구 분야입니다. 오늘은 Generative Adversarial Networks에 대해서 포스팅해보도록 하겠습니다. GAN에서 다루고자 하는 모든 데이터는 확률분포를 가지고 있는 랜덤변수(Random Variable)이기 때문에 먼저 확률분포의 개념을 알아야 합니다. 확률분포 확률 번수가 특정한 값을 가질 확률을 나타내는 함수를 의미합니다. 예를 들어 주사위를 던젔을때 나올 수 있는 확률 변수 X라고 합시다. 확률 변수 X는 1,..
-
[Computer Vision]Pose EstimationArtificial Intelligence/Deep learning 2021. 7. 31. 13:29
Pose Estimation에 딥러닝을 적용하는 알고리즘이 나오자 빠른 발전을 이루었습니다. Pose Estimation도 2D Pose Estimation, 3D Pose Estimation으로 나뉘는데요 오늘은 2D Pose Estimation을 간략하게 요약해 포스팅해보도록 하겠습니다 Pose Estimation 사람의 신체 관절인 Key Point가 어떻게 구성되어있는지 위치를 측정(Localization)하고 추정(Estimation)하는 문제입니다. 주요 Key Point → Head, Neck, Sholder, Elbow, Wrist, Hip, Knee, Ankle Pose Estimation의 대표적인 성능평가 지표 성능평가지표는 데이터셋에 따라 조금씩 명칭이 바뀌는 것 같습니다. Perc..
-
[Computer Vision]Object DetectionArtificial Intelligence/Deep learning 2021. 7. 10. 21:57
Computer Vision에 다양한 분야가 있습니다. 그중에서도 가장 활발이 연구되고 있는 Object Detection에 대해서 포스팅해보도록 하겠습니다. Object Detection Object Detection이란 여러 물체에 대해 어떤 물체인지 분류하는 Classification 문제와 그 물체가 어디 있는지 Bounding Box 위치 정보를 나타내는 Localization 문제를 해결하는 분야입니다. Object Detection Milestiones 위의 이미지를 보면 Object Detection에 많은 영향을 미친 알고리즘들을 시간의 흐름에 따라 정리되어 있습니다. 요약하자면 다음과 같습니다. Traditional Detection 알고리즘 - VJ det, HOG det … Pasc..
-
[RNN]Recurrent Neural Network(RNN)Artificial Intelligence/Deep learning 2021. 6. 21. 16:04
이번에는 자연어(NL, Natural Language)나 음성신호, 주식과 같은 연속적인(sequential) 시계열(time series) 데이터에 많이 사용되는 모델인 순환 신경망(Recurrent Neural Network)에 대해 포스팅해 보도록 하겠습니다 순차 데이터(Sequential Data) 순환 신경망(RNN)을 공부하기 전에 먼저 순환 신경망(RNN)에 사용하는 순차 데이터(Sequential Data)에 대해 알아야 합니다 순차 데이터(Sequential Data)란 순서가 의미가 있으며, 순서가 달라질 경우 의미가 손상 되는 데이터를 순차 데이터(Sequential Data)라고 합니다. 시간적 의미가 있는 경우 Temporal Sequence라고 하며, 일정한 시간차라면 Time ..
-
[Deep Learning]Depthwise Separable ConvolutionArtificial Intelligence/Deep learning 2021. 6. 14. 14:53
오늘은 Convolution 방법 중 하나인 Depthwise Separable Convolution 내용을 포스팅해보도록 하겠습니다. Depthwise Separable Convolution 방법은 Xecption, Mobilenet V1, V2에 사용되고 있는데요 오늘의 포스팅은 CodeEmporium의 동영상을 참고하여 만들었습니다! 먼저 기본적인 Convolution을 알아보도록 하겠습니다. Convolution DF는 Height와 Width의 크기이고 M은 Channel 크기입니다. 따라서 Input shape은 (DF,DF,M) 입니다. DK는 필터에 해당합니다. 필터의 채널은 인풋과 같기 때문에 똑같이 M입니다. 인풋이 필터를 거쳐 Convolution을 하게 되면 결과물로 매트릭스가 한 ..
-
[자료구조]링크드 리스트(Linked List)programming/Python 2021. 6. 8. 14:45
링크드 리스트 (Linked List) 링크드 리스트(Linked List), 연결 리스트는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조입니다. 이름에서 말하듯이 데이터를 담고 있는 노드들이 연결되어 있는데, 노드의 포인터가 다음이나 이전의 노드와의 연결을 담당하게 됩니다. 특징 배열은 순차적으로 연결된 공간에 데이터를 나열하는 데이터 구조입니다. 링크드 리스트는 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조입니다. 본래 C언어에서는 주요한 데이터 구조이지만, 파이썬은 리스트 타입이 링크드 리스트의 기능을 모두 지원합니다. 장점 배열은 미리 데이터의 공간을 할당해야하지만 링크드 리스트는 미리 데이터 공간을 미리 할당하지 않아도 됩..
-
[자료구조]배열(Array), 큐(Queue), 스택(Stack)programming/Python 2021. 5. 20. 20:24
배열(Aarry) 배열이란 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조입니다. 파이썬에서는 리스트 타입이 배열 기능을 제공합니다 특징 같은 종류의 데이터를 효율적으로 관리하기 위해 사용합니다. 같은 종류의 데이터를 순차적으로 저장합니다. 장점: 빠른 접근 가능 : 첫 데이터의 위치에서 상대적인 위치로 데이터 접근(인덱스 번호로 접근)이 가능하기 때문에 데이터 접근 속도가 빠릅니다. 단점: 데이터 추가/삭제의 어려움 : 일반적으로 C언어에서는 미리 최대 길이를 지정해야 되지만 파이썬의 list는 자동적으로 늘어나기 때문에 최대길이를 지정하지 않아도 됩니다. 큐(Queue) 큐란 한쪽 끝(rear)에서는 삽입 연산만 이루어지며 다른 한쪽 끝(front)에서는 삭제 연산만 이루어지는..
-
[Optimizer] Optimizer-경사하강법(Gradient Descent)Artificial Intelligence/Deep learning 2021. 5. 19. 14:34
경사 하강 학습법은 최적화 이론의 한 방법입니다. 최적화 이론은 어떤 함수가 있을 때 함수의 출력이 최적의 값을 찾아내는 이론을 말합니다. 그중에서도 딥러닝에서는 경사 하강법을 많이 사용하는데요 학습한 부분들을 정리하며 포스팅해보겠습니다. 수정해야 할 부분이 있으시면 댓글로 달아주시면 감사하겠습니다 경사 하강법(Gradient Descent) 함수 $f(x)$에서 경사를 따라 여러번의 스텝(step)을 통해 최적점(최솟값)으로 다가가는 것을 경사 하강법이라고 합니다 경사는 기울기(미분, Gradient)를 이용해 계산합니다. 경사 하강법(Gradient Descent)의 학습률(Learning rate) 경사하강법에서 학습률(Learning rate)을 값을 지정해야 해야 합니다.(Step size라고 ..