Category
[DL]딥러닝 개요
Intro 딥러닝(Deep Learning, DL)이란 무엇일까? 아래는 위키피디아의 정의이다 딥러닝은 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계학습의 한 분야이다(출처 : wikipedia) 여기저기서 많이 들어본 말로 표현하자면, 흔히 알고있는 인공신경망(neural networks)을 통해 학습시키고 원하는 결과를 얻어내는 작업들이다 Key Components of Deep Learning 딥러닝에서 가장 중요한 4가지 요소가 있다 1. 데이터 모델이 학습할 수 있는 데이터가 필요하다. 아마 가장 중요하다고 말할 수 있는 부분이다, 딥러닝은 데이터가 성능을 좌우한다고..
데이터 시각화(Data Visualization)
Intro 길게 나열된 줄글이나 엄청난 정보량이 담긴 표를 한 번에 보기는 쉽지 않다, 아니 어렵다 이 때 한 눈에 보기 편하게 시각화를 시킨다면 데이터의 특성을 파악하는데 큰 도움이 된다 시각화 Q. 시각화란 무엇일까? 데이터 시각화란 데이터를 그래픽 요소로 매핑하여 시각적으로 표현하는 것을 말한다 그러나 단순히 그래픽 요소로 매핑만 한다고 하면 그다지 좋은 시각화 방법이 아닐 것 이다 당연히 여러가지 요소를 고려하여 적절한 시각화를 해야한다, 크게 아래와 같은 내용들을 생각해 볼 수 있다 왜 시각화 하는지? 가장 근본적인 이유이다 어떤 목적하에 시각화를 하는지 생각해야 한다 누가 볼 것 인지? 나만 볼 수 있게 간단히 정리된 도표일 수도, 고객을 설득하기 위한 지표로 사용될 수도있다. 누구를 대상으로..
공분산과 상관계수
공분산(covariance)과 상관계수(correlation coefficient) Intro 세상에 대부분의 것들은 서로 독립적이지 않다. 서로 아무 관련도 없어 보이는 것들 조차도 알고보면 관련이 있을 때도 있다. 서로 얼마만큼의 연관이 있는지 알 수 있는 방법이 있을까? 단순히 A가 올라갈 때 B도 올라가니 서로 연관이 있어! 같은 무식한 소리는 하면 안되니 이에 대해 아라보자 공분산 집 앞 편의점 매출데이터를 살펴보자, X = 맥주 판매량, Y = 마른안주 판매량이라 가정해보자, 편의점 사장님께 둘은 연관이 있으니 맥주가 많이 팔리면 마른안주의 발주량을 늘리라거나 마른안주가 많이 팔리면 맥주를 늘리라고 조언을 해드렸다. 과연 어떻게 됐을까? 썩 꺼지고 다음부터 오지말라는 소리를 들었다. 사장님이 ..
코랩(colab)에서도 쥬피터처럼 독스트링 확인하는 법
코랩(colab)에서도 쥬피터처럼 독스트링 확인하는 법! 쥬피터(jupyter)에서는 shift + tap을 이용하면 아래와 같이 독스트링을 쥬피터내에서 간단하게 확인할 수 있다. 실시간으로 인터넷에서 Documents를 찾을 필요 없이 바로바로 필요한 내용들을 볼 수 있어 상당히 편리하다! 그런데 안타깝게도 코랩환경에서는 이 편한 기능이 제공되지 않는 ... 줄 알았는데 사실 되지롱? 설정을 변경하면 코랩에서도 똑같이 shift + tap을 이용해 독스트링을 볼 수 있다 colab에 들어가 도구 - 설정 - 편집기에서 코드 완성 제안을 자동으로 표시를 체크 해제하면 된다 이러면 코드완성을 자동으로 지원하지 않아 불편하다! 라고 생각할 수 있겠지만 적당히 몇글자 쓴 후 tap을 누르면 자동완성도 된다 오..
[pytorch]모델저장&불러오기
모델저장 및 불러오기 Introduction 부덕이 부하 부팡이는 오늘도 고민이다... 부팡 : 부덕아 매번 모델을 학습시키는건 시간도 많이들고 비효율적인 것 같아... 그리고 구글에서 나온 모델을 써보고 싶은데 이거 내 컴퓨터로 학습시킬 수 있는거 맞아..? 부덕🦆🐤 : 으휴... 너 맨날 그렇게 한거야? 지금 세상이 어떤 세상인데 다 방법이 있찌~ 딥러닝 모델을 사용할 때 마다 학습을 새로 시킨다면 엄청난 cost가 발생한다 또한 남들에게 공유하거나 다른모델을 내가 사용할 때도 문제가 발생할 것이다 따라서, 학습한 모델을 저장할 필요성이 매우매우매우 있다 이러한 기능에 대해 AraBoza 모델을 저장하는 방법은 크게 2가지로 나뉜다 모델전체를 저장하거나 checkpoint를 저장한다 model.sav..
[pytorch] 모델제작(torch.nn.Module)
어떻게 딥러닝 모델을 만들까? 단순하게 기능만 나열한다면 보기도 힘들고 수정도 힘들 것이다 PyTorch에는 모델을 만들기 위한 기능들을 모아 놓은 클래스를 제공한다, 이것이 바로 nn.Module이다 ! 아래의 Documents를 통해 다양한 설명을 볼 수 있다 [Pytorch 공식 Documents](https://pytorch.org/docs/stable/generated/torch.nn.Module.html?highlight=nn%20module#torch.nn.Module) nn.Module 딥러닝 모델의 Layer의 기본적인 class Input, Output, Forward, Backward같이 모델에 필요한 것들을 정의 학습의 대상이되는 parameter(tensor) 정의 레이어를 쌓는다..
[pytorch]Pytorch란 ?
Introduction to PyTorch 딥러닝 프레임워크인 PyTorch에 대해 AraBoza 현재 우리가 살고있는 세상은 너무너무너무 발전되어있다 💻 딥러닝도 마찬가지이다, 이미 다른 사람들이 너무 잘 만들어 놓은 것들이 존재한다 그 중 가장 많이 쓰이는 딥러닝 프레임워크는 meta(구 페이스북)가 만든 PyTorch와 Google이 만든TensorFlow이다 TensorFlow와 PyTorch의 가장 큰 차이점은 그래프계산이다 TensorFlow는 Define and Run(Static graps)로 그래프를 먼저 정의하고 실행시점에 데이터를 feed하고 PyTorch는 Define by Run(Dynamic computation graphs)로 실행시점에서 그래프를 그린다 TF는 cloud, M..
딥러닝을 위한 통계학 맛보기
Q) 통계적 모델링의 목표는 무엇일까? 적절한 가정 위에서 확률분포를 추정하는 것이 목표이다! 이는 머신러닝과 통계학이 공통적으로 추구하는 목표와 같다 But, 모든 데이터를 관측하기는 힘들다 그렇다고 해서 일부 데이터만 보고서 모집단의 분포를 정확하게 알아낼 수도 없다. 그렇기에 우리는 근사적으로 확률분포를 추정하는 수 밖에 없다!!! 정확하게 분포를 맞추는 것이 아닌 데이터와 추정 방법의 불확실성을 고려해 리스크를 최소화하는 것이 목적이다 모수적 방법론 vs 비모수방법론 모수적(parametric)방법론 : 데이터가 특정 확률분포를 따른다고 선험적(a priori)가정한 후 그 분포를 결정하는 모수를 추정하는 방법 비모수방법론 : 특정 확률분포를 가정하지 않고 데이터에 따라 모델의 구조 및 모수의 개..