분류 전체보기
-
Contiguous Contiguous(인접한, 근접한)는 단어의 뜻처럼 Tensor의 각 값들이 메모리에도 순차적으로 저장되어 있는지 여부를 의미한다. [0, 1, 2, 3, 4]라는 Tensor 가 있을 때, 메모리에 저장된 모양이 이와 같으면 contiguous한 것이고 이런식으로 요소들이 메모리에 연속적으로 저장되어 있지 않으면 contiguous하지 않은 것이다. >>> t = torch.tensor([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]) >>> t.is_contiguous() True >>> t.stride() (4, 1) t라는 Tensor는 처음에는 위와 같이 메모리에 저장되어 있을 것인데, >>> t = t.transpose() >>> t.str..
[Pytorch] pytorch ContiguousContiguous Contiguous(인접한, 근접한)는 단어의 뜻처럼 Tensor의 각 값들이 메모리에도 순차적으로 저장되어 있는지 여부를 의미한다. [0, 1, 2, 3, 4]라는 Tensor 가 있을 때, 메모리에 저장된 모양이 이와 같으면 contiguous한 것이고 이런식으로 요소들이 메모리에 연속적으로 저장되어 있지 않으면 contiguous하지 않은 것이다. >>> t = torch.tensor([[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11]]) >>> t.is_contiguous() True >>> t.stride() (4, 1) t라는 Tensor는 처음에는 위와 같이 메모리에 저장되어 있을 것인데, >>> t = t.transpose() >>> t.str..
2022.08.03 -
The biggest lesson that can be read from 70 years of AI research is that general methods that leverage computation are ultimately the most effective, and by a large margin. The ultimate reason for this is Moore's law, or rather its generalization of continued exponentially falling cost per unit of computation. Most AI research has been conducted as if the computation available to the agent were ..
The Bitter Lesson - Rich Sutton(2019)The biggest lesson that can be read from 70 years of AI research is that general methods that leverage computation are ultimately the most effective, and by a large margin. The ultimate reason for this is Moore's law, or rather its generalization of continued exponentially falling cost per unit of computation. Most AI research has been conducted as if the computation available to the agent were ..
2022.04.12 -
Entropy Entropy는 정보를 표현하는데 있어 필요한 평균 최소 정보 자원량을 말한다. 그래서 Entropy가 크면 나타내는 정보량이 많다는 것을 의미한다. 예를 들어서 "월화수목금토일" 7개 요일을 표현한다고 하면, 총 7bit가 필요할까? 월 000 화 001 수 010 목 100 금 101 토 110 일 011 이런식으로 정보를 인코딩해서 표현하게 되면 7개의 요일을 표기하는데 약 3bit가 필요하다. N개의 정보를 표시하는데 총 log_2(N) 비트가 필요하다. 즉, 최소 자원량은 bit로 얼마나 짧게 표현될 수 있느냐를 의미한다. 맑은날인지 비가 오는 날인지 정보를 표현한다고 할 때, 실제로 맑은날이 비오는날 보다 더 자주 있으므로 맑은날을 표현할 때 더 짧은 bit로 전송해야 할 것이다..
KL-DivergenceEntropy Entropy는 정보를 표현하는데 있어 필요한 평균 최소 정보 자원량을 말한다. 그래서 Entropy가 크면 나타내는 정보량이 많다는 것을 의미한다. 예를 들어서 "월화수목금토일" 7개 요일을 표현한다고 하면, 총 7bit가 필요할까? 월 000 화 001 수 010 목 100 금 101 토 110 일 011 이런식으로 정보를 인코딩해서 표현하게 되면 7개의 요일을 표기하는데 약 3bit가 필요하다. N개의 정보를 표시하는데 총 log_2(N) 비트가 필요하다. 즉, 최소 자원량은 bit로 얼마나 짧게 표현될 수 있느냐를 의미한다. 맑은날인지 비가 오는 날인지 정보를 표현한다고 할 때, 실제로 맑은날이 비오는날 보다 더 자주 있으므로 맑은날을 표현할 때 더 짧은 bit로 전송해야 할 것이다..
2022.03.20 -
Model-based & Model-free Reinforcement Learning 강화학습 알고리즘은 아주 크게 2가지가 있다. 하나는 Model-based고 하나는 Model-free. (강화학습 알고리즘의 종류는 계층적으로 딱 나눌 수 없는데, Model-based면서 Model-free인 것도 있고 뭐 그렇다...) Sutton 책 기준에서 Model-based RL이라고 하면 주로 "Planning"하는 것을 말하고 Model-free는 주로 "Learning"하는 것을 말한다. Planning은 Environment의 Model을 어느정도 알거나 주어진 상태에서 문제를 푸는 것을 말한다. 즉 어떤 action에 있어 좋은 reward를 받게 끔 policy를 improve한다. Learnin..
Model-based Reinforcement LearningModel-based & Model-free Reinforcement Learning 강화학습 알고리즘은 아주 크게 2가지가 있다. 하나는 Model-based고 하나는 Model-free. (강화학습 알고리즘의 종류는 계층적으로 딱 나눌 수 없는데, Model-based면서 Model-free인 것도 있고 뭐 그렇다...) Sutton 책 기준에서 Model-based RL이라고 하면 주로 "Planning"하는 것을 말하고 Model-free는 주로 "Learning"하는 것을 말한다. Planning은 Environment의 Model을 어느정도 알거나 주어진 상태에서 문제를 푸는 것을 말한다. 즉 어떤 action에 있어 좋은 reward를 받게 끔 policy를 improve한다. Learnin..
2022.03.18 -
원래는 도커도 쓰고 로컬 파이썬도 쓰고 있었는데 최근에 개인 노트북과 회사 노트북의 환경을 모두 초기화하였습니다. 로컬에는 어떤 언어도 프레임워크도 설치하지 않고 도커 컨테이너만 사용하려고 합니다. 확실히 관리하기 정말 편하고 이것저것 변경하기가 너무 편해요. 예를 들어서 Inference를 위한 flask API 용 환경은 최대한 가볍고 심플한 파이썬 컨테이너를 띄워놓고, 딥러닝을 위한 주피터 파이토치 환경을 띄워놓으면, 서로 다른 두 환경을 왔다갔다 하면서 작업하기도 편리하고 콘다 사용시 충돌문제가 없어 너무 좋았습니다. 그리고 docker-compose를 통해서 여러개의 컨테이너를 원하는 옵션으로 한번에 띄울 수 있어서 좋습니다. 예를 들어서 하나의 작업을 할 때 jupyter + pytorch +..
[Docker] 딥러닝과 파이썬 환경구축을 위한 도커파일원래는 도커도 쓰고 로컬 파이썬도 쓰고 있었는데 최근에 개인 노트북과 회사 노트북의 환경을 모두 초기화하였습니다. 로컬에는 어떤 언어도 프레임워크도 설치하지 않고 도커 컨테이너만 사용하려고 합니다. 확실히 관리하기 정말 편하고 이것저것 변경하기가 너무 편해요. 예를 들어서 Inference를 위한 flask API 용 환경은 최대한 가볍고 심플한 파이썬 컨테이너를 띄워놓고, 딥러닝을 위한 주피터 파이토치 환경을 띄워놓으면, 서로 다른 두 환경을 왔다갔다 하면서 작업하기도 편리하고 콘다 사용시 충돌문제가 없어 너무 좋았습니다. 그리고 docker-compose를 통해서 여러개의 컨테이너를 원하는 옵션으로 한번에 띄울 수 있어서 좋습니다. 예를 들어서 하나의 작업을 할 때 jupyter + pytorch +..
2021.12.31 -
데이터의 행렬 연산, 딥러닝, 전처리 등 데이터가 커질 수록 연산량도 많아집니다. 그리고 파이썬은 인터프리터 언어인 특성상 느립니다. numpy를 사용하는 것 만으로도 속도가 올라가지만, 놀고 있는 코어를 모두 사용해 병렬 연산을 하면 더 빨라지지 않을까? 하는 생각을 하게됩니다. 그래서 처음에 python의 내장함수인 multiprocessing을 사용하곤 했는데 이보다 더 편하고 좋은 방법이 있어 포스팅하려고 합니다. # python multiprocessing import numpy as np from multiprocessing import Pool arr = np.random.random(1000000) def mul(x): return x * 10 # list comprehension resu..
[Ray] Multiprocessing library Ray데이터의 행렬 연산, 딥러닝, 전처리 등 데이터가 커질 수록 연산량도 많아집니다. 그리고 파이썬은 인터프리터 언어인 특성상 느립니다. numpy를 사용하는 것 만으로도 속도가 올라가지만, 놀고 있는 코어를 모두 사용해 병렬 연산을 하면 더 빨라지지 않을까? 하는 생각을 하게됩니다. 그래서 처음에 python의 내장함수인 multiprocessing을 사용하곤 했는데 이보다 더 편하고 좋은 방법이 있어 포스팅하려고 합니다. # python multiprocessing import numpy as np from multiprocessing import Pool arr = np.random.random(1000000) def mul(x): return x * 10 # list comprehension resu..
2021.12.20 -
사실 전문 서버 개발자는 아니지만 초심자를 위한 Node.js로 서버 만들기 책을 출간하였습니다. 전체적으로 JavaScript와 Node.js의 개념을 훑고 예제를 통해 이해하는 방식으로 책을 구성하였습니다. 책이 얇고 이해하기 쉽게 쓰여져 있으므로 Node.js를 빠르게 공부하시거나 공부하고 싶으신 분들께 추천드립니다. 제가 Node.js 전문가가 아니기 때문에 초심자가 어려워할 부분을 최대한 세심하게 짚어 내려고 노력하였습니다. 또, 이해를 쉽게 하기 위해 개념은 최대한 풀어쓰려 노력하였으니 쉽게 읽힐 수 있다는 것이 이 책의 장점입니다. 책의 목차 1장. Node.js 첫걸음 1.1 Node.js 첫걸음 웹 서버와 Node.js의 관계 Node.js가 동작하는 방식 1.2 실습을 위한 개발환경 구..
[Node.js로 서버 만들기] 책을 출간하였습니다.사실 전문 서버 개발자는 아니지만 초심자를 위한 Node.js로 서버 만들기 책을 출간하였습니다. 전체적으로 JavaScript와 Node.js의 개념을 훑고 예제를 통해 이해하는 방식으로 책을 구성하였습니다. 책이 얇고 이해하기 쉽게 쓰여져 있으므로 Node.js를 빠르게 공부하시거나 공부하고 싶으신 분들께 추천드립니다. 제가 Node.js 전문가가 아니기 때문에 초심자가 어려워할 부분을 최대한 세심하게 짚어 내려고 노력하였습니다. 또, 이해를 쉽게 하기 위해 개념은 최대한 풀어쓰려 노력하였으니 쉽게 읽힐 수 있다는 것이 이 책의 장점입니다. 책의 목차 1장. Node.js 첫걸음 1.1 Node.js 첫걸음 웹 서버와 Node.js의 관계 Node.js가 동작하는 방식 1.2 실습을 위한 개발환경 구..
2021.12.19 -
최대 우도법이 잘 이해가 가지 않는다면 유투브 StatQuest with Josh Starmer의 위 동영상을 봅시다 정말 간결하고 이해가 잘되서 갖고 와봤습니다 ~.~ 최대우도법은 단어 그대로 '우도(likelihood, 가능도)'를 '최대화'하는 지점을 찾는 것을 의미합니다. 우도(Likelihood) "데이터가 이 분포로부터 나왔을 가능도" 우리가 가지고 있는 데이터는 보통 모집단(population)에서 일부분(sample)을 가져왔을 것이다. 예를 들어서 모델링하고자 하는 문제가 "남반구 지역의 물고기 개체수를 예측"하는 것이라고 해보자, 그렇다면 풀고자 하는 문제의 모집단은 "남반구 지역의 시간에 따른 전체 물고기 개체수"지만 관측된 데이터는 모든 물고기 수는 아닐 것이다. 그렇다면 전체 물고..
MLE(Maximum Likelihood Estimation) 최대우도법최대 우도법이 잘 이해가 가지 않는다면 유투브 StatQuest with Josh Starmer의 위 동영상을 봅시다 정말 간결하고 이해가 잘되서 갖고 와봤습니다 ~.~ 최대우도법은 단어 그대로 '우도(likelihood, 가능도)'를 '최대화'하는 지점을 찾는 것을 의미합니다. 우도(Likelihood) "데이터가 이 분포로부터 나왔을 가능도" 우리가 가지고 있는 데이터는 보통 모집단(population)에서 일부분(sample)을 가져왔을 것이다. 예를 들어서 모델링하고자 하는 문제가 "남반구 지역의 물고기 개체수를 예측"하는 것이라고 해보자, 그렇다면 풀고자 하는 문제의 모집단은 "남반구 지역의 시간에 따른 전체 물고기 개체수"지만 관측된 데이터는 모든 물고기 수는 아닐 것이다. 그렇다면 전체 물고..
2021.10.28