딥러닝

    도대체 텐서가 뭘까?

    처음 딥러닝을 공부하고 텐서플로우를 배울 때 가장 먼저 든 생각은 "'텐서(Tensor)'가 뭐지?" 였다. '텐서플로우(Tensorflow)'라는 이름도 텐서의 연산 그래프를 계산하는 것에서 착안됐다는 이야기를 들었으니 자연스레 궁금해졌다. 하지만 검색해도 '벡터나 행렬같은 데이터를 하나로 아우르는 값'이라고만 설명하고, 수학적 정의는 이해하기가 어려웠다. 무엇보다도 텐서가 무엇인지 몰라도 텐서플로우를 쓰는데 문제가 없다는 것 때문에 나 또한 그렇게 받아들였다.하지만 문득 CS182 강의를 정리하다가 3차원 텐서와 4차원 텐서를 행렬곱하는 과정을 보자 사글아들었던 궁금증이 다시 돌아왔다. 그래도 이번엔 텐서 연산은 많이 써왔으니 암묵적으로라도 이해하지 않을까 싶었다.우리가 사용하는 데이터는 모두 텐서다..

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

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

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

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