부스트캠프
[부스트캠프][WK02 / Day10] Generative Models
1. 강의 내용 Generative Models 1 (최성준 교수님) 1) Generative Models Generative Model은 단순히 이미지 등을 생성하는 모델이 아니라 더 많은 부분을 차지하고 있습니다. 강아지 이미지가 주어졌을 때, 우리가 학습한 확률분포 $p(x)$를 통해 새로운 강아지 이미지를 생성하는 Generation, 강아지인지 아닌지 구분하는 이상탐지하는 Density estimation 등을 할 수 있습니다. 여기서 Density estimation은 explicit 모델로, 어떤 입력이 주어졌을 때, 그것에 대한 확률값을 얻어낼 수 있는 모델입니다. Generation만을 하는 모델은 implicit 모델이라고 하며 Generation 모델에는 explicit과 implic..
[부스트캠프][WK02 / Day9] Recurrent Neural Networks
1. 강의 내용 RNN (최성준 교수님) 1) Sequential Model Sequential data의 가장 큰 어려움은 정의상 길이가 언제 끝날지 몰라 받아야하는 입력의 차원을 알 수 없습니다. 그래서 fully connected layer나 CNN을 활용하지 못합니다. 입력이 가변적이어서 발생하는 문제를 해결하기위해 정보의 개수를 한정($AR(\tau$)) 시킵니다. $\tau$ 시점 전 까지만 입력으로 넣어주는 것으로 $\tau$를 1로 하는 모델이 Markov model입니다. Markov model의 joint distribution을 표현하기 쉬워지는 장점이 있지만 1시점만 보기 때문에 많은 정보를 버리게 됩니다. Latent autoregressive model은 중간에 hidden st..
[부스트캠프][WK-02 / Day8] Convolutional Neural Networks
1. 강의 내용 Convolution은 무엇인가? (최성준 교수님) 1) Convolution Convolution의 채널의 개수는 필터의 개수에 따라 달라집니다. 따라서 인풋 채널 숫자와 아웃풋 채널 숫자를 보면 필터의 채널 숫자를 알 수 있습니다. 파라미터의 개수는 커널의 크기*인풋 채널*아웃풋 채널 입니다. 일반적인 CNN은 Convolution layer, pooling layer, fully conneted layer로 구성되어 있는데 Convolution Layer와 pooling layer는 이미지에서 유용한 정보를 뽑아내는 역할(feature extraction)을 하고 fully conneted layer는 원하는 출력값을 얻도록 해줍니다. 하지만 최근에는 Fully connected l..
[부스트캠프][WK-02 / Day7] Optimization
1. 강의 내용 Optimization (최성준 교수님) 1) Optimization의 주요 개념 Generalization 학습시 train error는 꾸준히 감소하지만 test error는 그렇지 않을 수 있습니다. 이 경우 Generalization performance는 Test Error와 Training Error의 차이를 말입니다. Generalization이 좋다는 것은 네트워크의 성능이 학습데이터와 비슷하게 나올 것이라는 보장입니다. Overfitting & Underfitting Overfitting은 학습데이터에서 잘 동작하지만 test 데이터에서 잘 동작하지 않는 것을 말하며 Underfitting은 네트워크가 너무 간단하거나 학습을 조금 시켜 학습데이터도 잘 맞추지 못하는 것입니..
[부스트캠프][WK-02 / Day6] 딥러닝 기초
1. 강의 내용 딥러닝 기본 용어 설명 (최성준 교수님) 1) Introduction 우리를 좋은 딥러너로 만드는 것은 크게 3가지가 있습니다. 먼저 텐서플로우, 파이토치와 같은 구현실력입니다. 두번째로 수학 스킬이며 마지막으로 논문의 트렌드를 따라가는 것입니다. 인공지능안에 데이터 기반 접근방식인 머신러닝이 포함되어 있고 그 안에 딥러닝이 포함되어 있습니다. 딥러닝의 주요 요소에는 학습을 위한 데이터, 데이터를 통해 무언가를 학습하는 모델, 모델을 학습키는데 사용되는 loss function, loss를 최소화 시키는 알고리즘이 있습니다. 2) Data 데이터는 풀고자 하는 문제에 의존적입니다. 분류문제에는 분류대상 이미지가 필요하며 Semantic Segmentation 문제에는 이미지의 픽셀별로 속..
[부스트캠프][WK-01 / Day5] 파이썬 기초 4, numpy/pandas
1. 강의 내용 File / Exception / Log Handling (최성철 교수님) 1) Exception 예상이 가능한 예외 발생 여부를 사전에 인지할 수 있는 예외로 개발자가 명시적으로 정의 합니다. 예상 불가능한 예외 인터프리터 과정에서 발생하는 예외로 개발자의 실수에서 비롯됩니다. 프로그램에서 인터프리터가 알아서 에러를 호출해주고 프로그램을 종료시킵니다. 이 경우 Exception Handling을 통해 대처할 수 있습니다. try~except try: 예외 발생 가능한 코드 except : 예외 발생했을 때 대응하는 코드 Built-in Exception (기본적으로 제공하는 예외) IndexError List의 Index 범위를 넘어갈 때 NameError 존재하지 않는 변수를 호출할 ..
[부스트캠프][WK-01 / Day4] AI Math 3
1. 강의 정리 통계학 맛보기 (임성빈 교수님) 1) 통계적 모델링 통계적 모델링은 적절한 가정 위에서 확률분포를 추정하는 것이 목표이며, 기계학습과 통계학이 공통적으로 추구하는 목표입니다. 하지만 모집단의 분포를 정확히 알아내는 것은 불가능하므로 근사적으로 확률분포를 추정하는데 목적은 정확하게 맞추는 것보다 위험을 최소화하는 것입니다. 모수적(parametric) 방법론: 데이터가 특정 확률분포를 따른다고 선험적으로(a priori) 가정한 후 그 분포를 결정하는 모수를 추정하는 방법 비모수(nonparamtric) 방법론: 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개수가 무한히 많거나 유연하게 바뀌는 방법. 기계학습의 많은 방법론은 비모수 방법론에 속합니다. 확률 분포를 가..
[부스트캠프][WK-01 / Day3] 파이썬 기초 3, AI Math 2
1. 강의 내용 Python data structure (최성철 교수님) 1) 스택과 큐(stack & queue with list) 스택(Stack) 은 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조 입니다. 이를 Last In First Out (LIFO) 구조라고하며 데이터의 입력을 Push, 출력을 Pop이라고 합니다. 리스트를 사용해 구현 가능하며 push는 append(), pop은 pop()을 사용합니다. # 스택 구조를 활용한 글자 역순 출력 word = input("Input a word : ") word_list = list(word) for i in range(len(word_list)): # 하나씩 빼면서 출력 print(word_list.pop()) 큐(Queue) 는 ..