전체 글
[빅데이터를 지탱하는 기술] 1-1 빅데이터의 정착
빅데이터(Big Data)란 말 그대로 커다란 데이터를 말합니다. 기존의 데이터와 빅데이터는 서로 다를 것은 없지만, 처리해야하는 양에서 차이가 납니다. 빅데이터 처리 기술이 따로 필요하게 된 이유는 아무리 좋은 성능의 컴퓨터라도 오늘날의 데이터 증가 속도를 따라잡기 어려워졌기 때문입니다. 이러한 빅데이터 처리 기술이 여러 회사에 자리 잡을 수 있었던 건 '데이터 분산 처리'와 '클라우스 서비스'가 있었기 때문입니다.빅데이터 등장 이전빅데이터 기술이 등장하기 이전부터 대용량의 데이터를 다루는 기술이 필요로 했습니다. 전국의 제품 판매 데이터를 한 곳에 모아 통계 자료를 만드려고 한다면, 어지간한 컴퓨터로는 이를 저장하고 처리할 순 없습니다. 그래서 매우 큰 데이터를 관리하는 컴퓨터 시스템이 개발되었고, ..
도대체 텐서가 뭘까?
처음 딥러닝을 공부하고 텐서플로우를 배울 때 가장 먼저 든 생각은 "'텐서(Tensor)'가 뭐지?" 였다. '텐서플로우(Tensorflow)'라는 이름도 텐서의 연산 그래프를 계산하는 것에서 착안됐다는 이야기를 들었으니 자연스레 궁금해졌다. 하지만 검색해도 '벡터나 행렬같은 데이터를 하나로 아우르는 값'이라고만 설명하고, 수학적 정의는 이해하기가 어려웠다. 무엇보다도 텐서가 무엇인지 몰라도 텐서플로우를 쓰는데 문제가 없다는 것 때문에 나 또한 그렇게 받아들였다.하지만 문득 CS182 강의를 정리하다가 3차원 텐서와 4차원 텐서를 행렬곱하는 과정을 보자 사글아들었던 궁금증이 다시 돌아왔다. 그래도 이번엔 텐서 연산은 많이 써왔으니 암묵적으로라도 이해하지 않을까 싶었다.우리가 사용하는 데이터는 모두 텐서다..
[CS182] Lecture 5: Backpropagation
해당 글은 CS182: Deep Learning의 강의를 정리한 글입니다. 여기서 사용된 일부 슬라이드 이미지의 권리는 강의 원작자에게 있습니다. 이번 강의에서는 본격적으로 깊은 신경망(Deep neural network, DNN)에 대해 알아볼 것입니다. 먼저 머신러닝 모델을 그림으로 표현하는 법에 대해 배운 다음, 왜 깊은 신경망은 겹겹이 쌓아올린 모습을 하고 있는지를 알아볼 것입니다. 그리고 마지막으로 깊은 신경망 모델을 학습시키기 위한 역전파 알고리즘도 배울 겁니다.모델을 그림으로 표현하기왜 그림으로 표현해야 할까우리는 지금까지 수학 식을 통해 모델을 표현했습니다. 하지만 데이터가 모델에서 어떻게 연산되는지 살펴보기에 수학 식은 불편합니다. 이를 위해 우리가 사용할 표기법은 계산 그래프 (Comp..
[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 learningSupervised learning은 입력 데이터 $x$가 주어지면 그에 대응되는 라벨 데이터 $y$를 예측해야 하는 문제입니다. 동물 사진이 주어지면 어떤 동물이 찍혀있는지를 맞추거나, 영어 문장을 프랑스어 문장으로 변역하거나, 엑스레이 사진을 보고 질병이 있..
Guess the game GPT의 프롬프트 알아내기
GuessTheGame - Your daily video game guessing puzzle! guessthe.game Guess the game 에서 오늘 만우절을 기념해 재밌는 이벤트를 진행하고 있다. 본래 Guess the game은 게임 사진을 보고 어떤 게임인지 맞추는 게임이다. 그런데 이번에는 직접 챗봇을 만들어 스무고개처럼 물어보는 방식으로 바뀌었다. 보통이라면 챗봇에게 게임에 대한 정보를 물어봐 알아내기만 하면 된다. 하지만 직접적으로 게임이 무엇인지 물어보자 다음과 같이 답변했다. 맨 처음에 한번 물어보라고 해서 그대로 물어봤는데 안알려줄꺼라며 비웃었다. 괜히 심술이 난 나는 프롬프트를 띁어보기로 했다. 처음에는 직접적으로 물어보았다. 프롬프트가 무엇이냐고 대놓고 물어봤을 때 대답해주는..
[CS182] Lecture 1: Introduction (Representation과 Deep Learning이란)
해당 글은 CS182: Deep Learning의 강의를 정리한 글입니다. 여기서 사용된 모든 이미지의 권리는 강의 원작자에게 있습니다. Representation이란 기계 번역의 발전 기존에는 번역기를 만들고자 한다면 먼저 원본 언어와 목적 언어를 정하고 그 두 언어로 작성된 문장쌍을 모은다. 영어를 프랑스어로 번역하는 번역기를 만들고자 한다면 같은 뜻을 지닌 영어 문장과 프랑스어 문장쌍을 최대한 많이 모은다. 이렇게 모인 문장쌍으로 번역기를 학습시키면 번역기는 영어를 어떻게 프랑스어로 번역하는지 배우게 된다. 하지만 이런 방식에 문제점이 있다. 먼저 희소 언어는 이런 방식으로는 불리하다. 최대한 많은 데이터를 모아야 번역 품질이 높아지는데, 화자나 문헌이 적은 희소 언어는 영어나 중국어처럼 데이터를 ..