Machine Learning

    [CS182] Lecture 4: Optimization

    해당 글은 CS182: Deep Learning의 강의를 정리한 글입니다. 여기서 사용된 슬라이드 이미지의 권리는 강의 원작자에게 있습니다. Neural network의 Loss surface 지금까지 모델을 학습시키는 optimizer로 Gradient descent를 사용했습니다. 이전 강의에서 살펴보았던 머신러닝 모델들은 loss surface가 단순해 Gradient descent으로도 충분히 global optima에 도달할 수 있었습니다. 하지만 앞으로 우리가 다룰 딥러닝 모델의 loss surface는 위의 그림처럼 매우 복잡합니다. 이러한 surface는 Gradient descent로는 global optima에 도달하기에는 수많은 방해물들이 존재합니다. 보통 딥러닝 모델에서 보이는 방해..

    [CS182] Lecture 3: ML Basics 2 (Bias-Variance Tradeoff, Regularization, Machine Learning Workflow)

    해당 글은 CS182: Deep Learning의 강의를 정리한 글입니다. 여기서 사용된 슬라이드 이미지의 권리는 강의 원작자에게 있습니다. Linear Regression 이전 lecture에서는 데이터를 Classification(분류)하는 문제를 다루었습니다. 하지만 머신러닝이 예측할 수 있는 데이터는 범주형 데이터만 있는게 아닙니다. 이번에는 범주형 데이터가 아니라 연속형 데이터를 예측하는 Regression 문제를 다뤄보겠습니다. Model 정하기 Classification에서 골랐던 모델은 어떤 라벨인지 하나만 고르지 않고 각 라벨별 확률로 예측했습니다. 그렇기에 Regression에서도 특정한 값 하나가 아니라 확률로 예측할 것 입니다. Classification 모델은 각 라벨별 확률, 또..

    [CS182] Lecture 2: ML Basics 1 (머신러닝 문제의 종류, Model, Loss function, Optimizer)

    해당 글은 CS182: Deep Learning의 강의를 정리한 글입니다. 여기서 사용된 슬라이드 이미지의 권리는 강의 원작자에게 있습니다. 머신러닝 문제의 종류 머신러닝이 다루는 문제는 주어진 데이터가 어떤 형식으로 전달되는지에 따라 Supervised learning(지도 학습), Unsupervised learning(비지도 학습), Reinforcement learning(강화 학습) 세가지로 구분할 수 있다. Supervised learning Supervised learning은 입력 데이터 $x$가 주어지면 그에 대응되는 라벨 데이터 $y$를 예측해야 하는 문제입니다. 동물 사진이 주어지면 어떤 동물이 찍혀있는지를 맞추거나, 영어 문장을 프랑스어 문장으로 변역하거나, 엑스레이 사진을 보고 질..

    [CS182] Lecture 1: Introduction (Representation과 Deep Learning이란)

    해당 글은 CS182: Deep Learning의 강의를 정리한 글입니다. 여기서 사용된 모든 이미지의 권리는 강의 원작자에게 있습니다. Representation이란 기계 번역의 발전 기존에는 번역기를 만들고자 한다면 먼저 원본 언어와 목적 언어를 정하고 그 두 언어로 작성된 문장쌍을 모은다. 영어를 프랑스어로 번역하는 번역기를 만들고자 한다면 같은 뜻을 지닌 영어 문장과 프랑스어 문장쌍을 최대한 많이 모은다. 이렇게 모인 문장쌍으로 번역기를 학습시키면 번역기는 영어를 어떻게 프랑스어로 번역하는지 배우게 된다. 하지만 이런 방식에 문제점이 있다. 먼저 희소 언어는 이런 방식으로는 불리하다. 최대한 많은 데이터를 모아야 번역 품질이 높아지는데, 화자나 문헌이 적은 희소 언어는 영어나 중국어처럼 데이터를 ..

    [살아 움직이는 머신러닝 파이프라인 설계] 1. 머신러닝 파이프라인

    오늘부터 TFX 스터디에 참여하면서 '살아 움직이는 머신러닝 파이프라인 설계'의 내용을 글로 정리하게 되었습니다. 책의 내용을 정리할 때 코드 부분을 생략하니 참고 바랍니다. 머신러닝 파이프라인이란 머신러닝 파이프라인이란 '머신러닝 생애주기를 표준화 및 자동화하는 방법'이다. 소프트웨어 공학이 '고품질의 소프트웨어를 개발하고 유지보수하도록 생애주기를 체계화하고 자동화'하기 위해 존재하듯, 머신러닝 파이프라인도 머신러닝 프로젝트에서 발생할 수 있는 여러 기술부채를 줄이기 위해 머신러닝 생애주기를 체계화 및 자동화한 것이다. 머신러닝 파이프라인의 필요성 머신러닝 파이프라인을 도입하게 되면 위에서 언급했듯이 머신러닝 프로젝트에서 생길 수 있는 기술부채를 줄일 수 있다. 구체적으로 설명하면 다음과 같다. 기존 ..