전체 글

전체 글

    [Basic] 헷갈리는 용어 정리

    On-policy vs. Off-policy RL On-policy learning: Learn about policy $\pi$ from experience sampled from $\pi$ 학습하는 policy와 행동하는 policy가 반드시 같아야만 학습이 가능한 강화학습 알고리즘. ex) Sarsa: on-policy의 경우 1번이라도 학습을 해서 policy improvement를 시킨 순간, 그 policy가 했던 과거의 experience들은 모두 사용이 불가능하다. 즉 매우 데이터 효율성이 떨어진다. 한 번 exploration해서 얻은 experience를 학습하고나면 그냥은 재사용이 불가능하다.(Importance sampling등을 해야 재사용가능 함.) Off-policy learn..

    [Tensorflow] Tensorflow 함수 모음

    tf.Variable(tf.random_normal( [tf.cast(hidden.shape[1], tf.int32) , tf.cast(representation.shape[0],tf.int32)]), dtype=dtype, name='w3_T') tf.Variable: 변수 생성 tf.random_normal: Outputs random values from a normal distribution. tf.cast: Casts a tensor to a new type.

    [기초] 1. 신경망 개요/단순 퍼셉트론/오차역전법

    이 글은 필자가 "밑바닥부터 시작하는 딥러닝 1"을 보고 헷갈리는 부분이나 다시 보면 좋을만한 부분들을 위주로 정리한 글입니다. 🪀 헷갈릴만한 단어 활성화 함수 vs. 손실함수 활성화 함수: 퍼셉트론에 작용 손실 함수: NN 전체에 작용 오차역전법(수단) vs. 최적화기법(목표) 오차역전법: 오차역전법으로 매개변수를 업데이트 하여 최적화 한다. 최적화기법: 최적의 매개변수 구하기 🪀 신경망 개요 Goal: Function approximation = p_\theta (x) 높이기 = 손실함수의 값을 가능한 낮추는 매개변수 찾기 = 매개변수의 최적값을 찾기 Frequentest View: Model의 파라미터들을 Fixed Value로 취급하여 데이터로부터 그 값을 구해 냅니다. 0\end{cases} $..

    [Interesting] Robust Motion Retargeting 분야

    Towards a Natural Motion Generator 최성준 Robust Motion Retargeting 사람과 동일한 motion을 하게 되는 연구 - 디즈니에서 오...! 포즈를 2D → 3D로 뽑아내기(noise 줄이기) rig, motion과 motion의 interaction → 자동화 → 사람과 로봇의 interaction imitation learning의 포함되는 경우 중 하나인듯 Conditioned Motion Retargeting GRP motion augmentation Semi-Autonomous Teleoperation 반자동 원격조종 Prehensile vs. Nonprehensile 밀기 잡기 action nonprehensile은 실생활에 어려움. 예측하기 어렵기..

    [기초] TAMP: Task and Motion Planning 소개

    온전히 제 이해를 위해 작성한 글입니다. TAMP: Task and motion planning - a sequence of low-level primitive planning Task Planning: 어떤 action을 취할지에 대한 plannning Motion Planning: 해당 action이 정해졌다면 어떤 motion을 이용할 것인지에 대한 Planning 해결 방안 Pure Planning: Model based Simulation, Learning a planner: Carefully designed models + Planner Complete / Inefficient 종류 Offline planning: optimal Online planning: MCTS Meta-planning:..

    2022년도 TODO Plan

    2022년에는 대학생을 졸업하고 대학원에 입학하게 되는 시기를 맞이한다. 이 시기에 나는 무엇을 하며 어떻게 해야 성장할 수 있을까? 🎯 Career goals 중년 - Top-tier firm in the industry. Top-of-the-industry salary. Long working hours. Work on well-established problems (Ex. Developing semiconductors, developing AI speaker) 말년 - Scout by Academy 🎯 무엇이 예정되어있는가? Gap time: 1월-8월! 2월 대학교 졸업 4월-6월 대학원 apply 1학기: 9월-12월 9월 대학원 입학 🎯 해야 하는 것은 무엇인가? overleaf 버전으로 CV..

    [Generative Model] Variational AutoEncoder 2. Application: Conditional VAE, Convolutional CVAE 코드 구현

    이 글은 필자가 주재걸 교수님의 2018-1 Image Generation and Translation 강의를 듣고 추가 블로그 참고1, 참고2를 읽으면서 정리차 작성한 글입니다. 강의를 듣게 된 경위: 이용해야 할 개념에서 Image와 같이 2D 개념에 적용한 예시가 없어서 이를 2D에 적용하면서 나타낼 수 있는 문제점들이나 인사이트들을 다시 확용하고자 image generation task에 연결하고자 듣게 되었다. 🎈 Conditional Variational AutoEncoder (CVAE) VAE + Condition: VAE 구조에서 Label 정보를 추가해서 더 높은 정확도를 제공하는 VAE를 제공한다. Model structure VAE구조에 시작부분, Representation 부분에 정..

    [NN] PyTorch 함수 모음

    torch.jit.is_scripting: GPU에서 실행하면 true, cpu이면 False인듯 싶다. torch.nn.Conv1d: 1D Convolution을 지원한다.(Applies a 1D convolution over an input signal composed of several input planes.) torch.nn.Conv1d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None) >>> m = nn.Conv1d(16, 33, 3, stride=2) >>> input = torch.randn..

    [OOP Paradigm] 파이썬객체지향: Everything in Python is an object (4)

    # 객체지향프로그래밍이란? 앞서 파이썬의 모든 것이 객체라고 정의한 바 있습니다. 우리가 일반적으로 사용했던 숫자나 리스트, 튜플 등 모든 자료형이 어떤 클래스의 인스턴스입니다. 코드로 본 바와 같이 인스턴스들은 특정 클래스에 속해있고 그 클래스들은 특정 속성(Attribute)와 기능(Method)를 가짐을 알 수 있습니다. 클래스들의 속성과 기능을 미리 정의한 부분을 통해 볼 수 있듯이 객체 지향프로그래밍은 클래스를 구성하기 위해 관련된 속성이나 동작을 개별 객체로 묶음으로써 구조화된 프로그램을 구성하는 방법입니다. 예를 들어, 객체는 이름, 나이, 주소와 같은 속성(Attribute)와 걷기,말하기, 호흡하기, 달리기와 같은 행동(Method)을 가진 사람을 나타낼 수 있습니다. 즉, 객체 지향 프..

    [OOP Paradigm] 파이썬객체지향: Everything in Python is an object (3)

    # Everything in Python is an object 2. 함수: Functions are first-class object 일반적인 함수를 통해 함수는 어떤 형태로 정의되는지 살펴보도록 하겠습니다. >>>> def area(h, v): >>>> return h*v >>>> print(type(area)) 일반적인 함수를 이야기하면 함수가 클래스 ‘function’ 에 정의되어 있음을 알 수 있습니다. 파이썬은 함수를 정의할 때 사용자가 정의한 함수 객체를 정의합니다. 이를 “Functions are first-class object” 라 이야기합니다. 다음 예시들을 통해 함수 객체를 어떻게 사용할 수 있는지 보겠습니다. >>>> def yell(text): >>>> return text.up..

    [OOP Paradigm] 파이썬객체지향: Everything in Python is an object (2)

    # Everything in Python is an object 파이썬은 순수 객체 지향 프로그래밍 언어이며 모든 것이 객체(object)로 작동됩니다. 앞서 파이썬의 변수는 단순히 포인터라고 이야기하였습니다. 이는 변수 이름 자체에는 첨부된 type 정보가 없다고 생각할 수 있습니다. 이때문에 파이썬을 type-free 언어라고 생각할 수 있지만 사실이 아닙니다. 다음 예시를 보도록 하겠습니다: >>>> print(type(2)) >>>> print(type(2.3)) >>>> print(type(2+3j)) >>>> print(type("string")) >>>> print(type([])) >>>> print(type({})) >>>> print(type(())) 파이썬에서 클래스 개념의 type ..

    [OOP Paradigm] 파이썬객체지향: Everything in Python is an object (1) Python Variables Are Pointers

    파이썬에서 언급되는 “Everything in Python is an object” 의 의미를 다음 보고서를 통해 이야기하고자 합니다. 위 개념을 파이썬의 Memory Collection 과 Semantics 내용을 포함하여 이야기하고, 이러한 개념이 객체 지향 프로그래밍 (OOP)으로 확장되어 어떻게 활용되는지 설명해보고자 합니다. # Python Variables Are Pointers 파이썬은 등호(=) 기호를 통해 변수를 할당합니다. # 변수 x 에 4 를 할당 x=4 많은 프로그래밍 언어에서 변수를 데이터를 담는 컨테이너(container)나 버킷(bucket)으로 생각합니다. C 언어를 예를 들어 이야기를 해보겠습니다. // C 언어 예시 int x = 4; C 언어에서는 x 라는 “메모리 컨..

    [Robotics] MDP, POMDP 정리

    이 글은 David Silver의 강화학습 slide와 이 사이트를 바탕으로 작성한 글입니다. ✂️ Markov decision process (MDP) Markov decision process is a Markov reward process with decisions. It is an environment in which all states are Markov. Markov Decision Process is a tuple $$$$ S: states, A: actions, P: state transition probability matrix R: reward function, gamma: discount factor Policy pi is a distribution over actions given ..

    [Compiler] 프로그래밍언어론 정리

    본 글은 필자가 2021년도 2학기에 프로그래밍언어론 수업을 듣고 퀴즈 준비차 작성한 글입니다. Whole System From Source code, Parser ( -> Parse Tree) Lexical Analyzer ( -> Tokens) Syntatic Analyzer ( ->Parse Tree) Chomsky Hierarchy 중 Context Free Grammar Compiler (->Assembly lanugage) Semantic Analyzer Semantics: Variables, Polymorphism, Scope Compiler vs. Interpreter Etc. Dynamic Compilation(JIT Compilation) Virtual Machine Interpreti..

    [DataMining] 바이오빅데이터와데이터마이닝 2. Clustering(클러스터링) 모델

    본 글은 필자가 2021년도 2학기에 변정현 교수님의 바이오빅데이터와데이터마이닝 수업을 듣고 내용 복기차 작성한 정리글입니다. 데이터 마이닝에 쓰이는 여러가지 모델들 중 대표적인 Classification, Clustering 모델을 배웠습니다. 본 글은 Clustering 부분 (+시계열 데이터 마이닝) 에 해당되는 모델을 모아놓았습니다. Clustering : 군집 분석, 그룹 내의 객체들은 유사하도록(관련이 있도록, minimized distance) / 그룹간의 객체들은 유사하지 않도록 (관련이 없도록, maximize distance) 주어진 객체들을 그룹짓는 작업 - Well-separated cluster: 한 군집의 모든 점은 서로 더 가깝거나 유사한 점을 갖는다. 0) Types of C..

    [DataMining] 바이오빅데이터와데이터마이닝 1. Classification(분류) 모델

    본 글은 필자가 2021년도 2학기에 변정현 교수님의 바이오빅데이터와데이터마이닝 수업을 듣고 내용 복기차 작성한 정리글입니다. 데이터 마이닝에 쓰이는 여러가지 모델들 중 대표적인 Classification, Clustering 모델을 배웠습니다. 본 글은 Classification 부분에 해당되는 모델을 모아놓았습니다. 1. Rule-based Classifier 규칙: (Condition A) → y ex. (Give Birth=no) & (Can Fly = yes) → Bird - Coverage of a rule Coverage(r) = |A| / |D| - Accuracy of a rule Accuracy(r) = |Ay| /|A| 1) 규칙 집합의 특성 및 장점 - 각 레코드에 오직 하나의 규칙..

    [Generative Model] Variational AutoEncoder 1. Basic: AE, DAE, VAE

    이 글은 필자가 주재걸 교수님의 2018-1 Image Generation and Translation 강의를 듣고 추가 블로그 참고1, 참고2, 참고3, 참고4를 읽으면서 정리차 작성한 글입니다. 강의를 듣게 된 경위: 이용해야 할 개념에서 Image와 같이 2D 개념에 적용한 예시가 없어서 이를 2D에 적용하면서 나타낼 수 있는 문제점들이나 인사이트들을 다시 확용하고자 image generation task에 연결하고자 듣게 되었다. - 220130. VAE loss function 자세히 내용 보충 - 220319. Generative model ) Latent variable model 내용 보충 Generative model? : Training data의 distribution을 학습하여 새로..

    2022년도 봄학기 카이스트 전기전자 대학원 국비장학생 합격 후기

    이 글은 3년 전 카이스트 전기전자 대학원 진학을 결심하고, 준비해온 일대기를 정리하고자 작성한 글입니다. 이번 9월에 합격하였으며, 댓글로 궁금한 점 적어주시면 내용 추가해서 올리겠습니다! 제가 느낀점들을 작성한 글이라 완전히 100% 정답은 아닐 수 있다는 점 참조해주세요. 22.06.24) 카이스트 AI대학원으로 진학 결정하였습니다. 이 후기도 참조해주세요. 최종 결과: 국비장학생으로 합격 이번 년도 9월에 국비장학생으로 합격했다. 2년간 엄청난 스트레스와 압박 속에서 이겨낸 내가 자랑스럽다. 대학원 지원 결심: 처음부터 석사를 거쳐 박사를 갈 생각이 있었기에 지원하게 되었다. 2,3학년 때 랩실 관련해서 서울대와 카이스트 중 어디를 갈까 고민 많이 했었는데 서울대는 맞는 랩실이 없거나 너무 허들이..

    [Computer Vision] Image, Video 분야 subtask 및 데이터 종류 정리

    Task 종류와 관련 dataset (핫한 순위별로) Video Object Tracking Dataset OTB(Object Tracking Benchmark) Video Action Classification / Action Recogntion Dataset UCF101: 13,320 video clip and its categories(101 categories, divided into 5 types: 1)Human-Object Interaction 2) Body-Motion Only 3) Human-Human Interaction 4) Playing Musical Instruments 5) Sports) Kinetics: 500,000 video clips(around 10 second, high..

    [Pytorch] 모델 만들 때 초기값을 설정해주는 이유

    딥러닝 모델 자체가 거대한 feature space로 이를 값 하나하나를 적절하게 맞추기 위해서는 0보다는 임의의 값으로 설정하는 것이 유리하다. Backward propagation에서의 vanishing gradient 문제를 막기위해 아무리 좋은 optimizer를 가지고 있어도 초기값을 잘못 설정하면 global minimum을 가지는데 어려움이 있다.

    [Basic] 3x3 Conv, 1x1 Conv 하는 이유(FCN vs. FC Layer vs. FPN)

    3x3 Convolutional Layer: 3x3 공간이 지닌 특징을 하나의 값으로 추출하기 with stride = 1 (각 픽셀별 위치정보가 갈수록 줄어든다. ex. FC layer) 1x1 Convolution Layer: 1x1 공간이 지닌 특징을 하나의 값으로 추출하기 with stride = 0 = 각 픽셀별 위치정보를 해치지 않은 채 조합에 따른 정보 분석을 하는 것 = 각 픽셀별 분석 ex.Fully Convolutional Network Fully Connected Layer 일반적인 Convolution Layer에 쓰이는 현상 Feature map을 flatten -(FC Layer)-> 전체 이미지의 특징을 출력하기 = 각 픽셀별 이미지의 위치 정보가 사라진다. Fully Conv..

    [OOP Paradigm] Object-Oriented Paradigm(OOP) in Python/객체지향프로그래밍 in 파이썬

    코드를 작성할 때 프로그램의 개발과 보수를 용이하게 하거나, 직관적인 코드를 제공하는 등의 여러 요인으로 좋은 코드를 정의하게 된다. 좋은 코드를 정의할 때 언급되는 대표적인 방식인 객체 지향 프로그래밍(Object-Oriented Paradigm)에 대해서 알아보고, 이를 Python에서 적용한 예시를 살펴보자. (사진 출저: GeeksforGeeks, 내용 참고: realPython, programiz) 1. Object-Oriented Paradigm in Python 이 무엇이며, 어떤 면에서 유리한가? 객체 지향 프로그래밍(Object-Oriented Programming, OOP)는 컴퓨터 패러다임 중 하나로, 관련된 속성이나 동작을 개별 객체(object)로 묶음으로써 구조화된 프로그램을 구..

    [Instance segmentation] Mask R-CNN/Detectron2 모델 파일 분석

    mask-rcnn .circleci configuration of the environment to run config.yml: environments to run the jobs in .github arrangement on the github environment ISSUE_TEMPLATE workflows CODE_OF_CONDUCT.md CONTRIBUTING.md ISSUE_TEMPLATE.md pull_request_template.md build options that is built on my macosx environment lib.macosx-10.9-x86_64-3.7 configs structure of the whole model(-common-models-mask_rcnn_fpn..

    [톺아보기] Pytorch를 이용한 Image Classifier 코드, Gradient Descent

    본 글은 Gradient Descent의 Pytorch 코드에 대한 필자의 이해를 위해 번역된 글로, 원글은 여기서 보실 수 있습니다. Pytorch 를 통해 이미지 분류기를 만들어보도록 하겠습니다. 흐름은 다음과 같습니다. 데이터셋 준비하기 - torchvision을 통해 CIFAR10 데이터셋 준비(Loading train/test dataset, normalization 포함) CNN 네트워크 준비하기 Loss function 정의하기 Train dataset을 CNN 네트워크 학습하기 CNN 네트워크로 test dataset 예측하기 본 글은 이미지가 학습되는 전체 구조 중심으로 설명하기 보다는 gradient descent가 어떤 흐름으로 이루어져있는지 자세히 살펴보고자 만들어졌습니다. 그럼 시..

    [Settings] USB를 이용한 Windows - Ubuntu 멀티 부팅

    이 게시글은 Usb를 통한 Windows 환경에 Ubuntu를 실행할 수 있는 기본적인 세팅 과정을 나타냅니다. Usb 준비, Usb를 통한 Ubuntu Desktop 설치를 한글로 번역+개인 경험을 같이 녹여낸 글입니다. (제가 찍은 사진과 더불어 보안 문제로 Ubuntu 사이트에서 직접 제공한 사진들로 구성되어 있습니다.) 1. Overview 부팅 가능한 USB를 통해 다음과 같은 활동을 할 수 있습니다. Ubuntu 설치 및 업그레이드 PC 세부 정보를 만질 필요 없이 Ubuntu Desktop이 사용가능하다. Internet cafe나 빌린 기계에서 Ubuntu를 실행이 가능하다. 이정도 장점이 있고, 설치로 바로 넘어가자. 2. Requirements 필요한 준비물은 4가지이다. 4GB 이상의..

    [딥러닝 프로젝트] Medical Imaging 모델 Fine-tuning 고난기 : 3주차 마무리 및 문제점들/보완점들

    이 글은 필자가 학교 수업 수강중 딥러닝 프로젝트 과제를 하면서 혼자서 파인튜닝을 한 고난기를 적은 여정입니다. 모델 튜닝을 하여 제출하는 과제이기에 제 자신이 한 머릿속 고민들과 아이디어들을 적어보고 싶어 만든 글이라 개념 설명은 따로 하지 않았습니다. 편하게 봐주세요! 완성된 모델 링크입니다.(완벽한 모델은 아니니 개발은 이렇게 진행된다고 감을 잡으시는 용도로 좋을 것 같습니다.) 매일 성능을 작성하였습니다.(Colab PRO를 구매해서 제대로 써보고자 매일 모델을 학습시키고 있습니다.) epoch마다의 학습 중 가장 성능이 뛰어날때/일반화가 잘 되었을 때를 뽑았습니다. 시험기간이라 6월 초반에는 진행을 하지 않았고, 중반에 완성해 모델 완성은 된 상태입니다. (완성된 모델은 종강되는대로 링크로 올려..

    [딥러닝 프로젝트] Medical Imaging 모델 Fine-tuning 고난기: 2주차 차차 정리

    이 글은 필자가 학교 수업 수강중 딥러닝 프로젝트 과제를 하면서 혼자서 파인튜닝을 한 고난기를 적은 여정입니다. 모델 튜닝을 하여 제출하는 과제이기에 제 자신이 한 머릿속 고민들과 아이디어들을 적어보고 싶어 만든 글이라 개념 설명은 따로 하지 않았습니다. 편하게 봐주세요! 완성된 모델 링크입니다.(완벽한 모델은 아니니 개발은 이렇게 진행된다고 감을 잡으시는 용도로 좋을 것 같습니다.) 매일 성능을 작성하였습니다.(Colab PRO를 구매해서 제대로 써보고자 매일 모델을 학습시키고 있습니다.) epoch마다의 학습 중 가장 성능이 뛰어날때/일반화가 잘 되었을 때를 뽑았으며 현재 2주차 진행중입니다. 5/30일 73~84% 과적합 5/31일 68~71% 2주차. 앞서 실험 정리하고 하나로 묶기 Data Pr..

    [딥러닝 프로젝트] Medical Imaging 모델 Fine-tuning 고난기: 0~1주차 혼란

    이 글은 필자가 학교 수업 수강중 딥러닝 프로젝트 과제를 하면서 혼자서 파인튜닝을 한 고난기를 적은 여정입니다. 모델 튜닝을 하여 제출하는 과제이기에 제 자신이 한 머릿속 고민들과 아이디어들을 적어보고 싶어 만든 글이라 개념 설명은 따로 하지 않았습니다. 편하게 봐주세요! 완성된 모델 링크입니다.(완벽한 모델은 아니니 개발은 이렇게 진행된다고 감을 잡으시는 용도로 좋을 것 같습니다.) 매일 성능을 작성하였습니다.(Colab PRO를 구매해서 제대로 써보고자 매일 모델을 학습시키고 있습니다.) epoch마다의 학습 중 가장 성능이 뛰어날때/일반화가 잘 되었을 때를 뽑았으며 현재 1주차 진행중입니다. 6/1일까지의 목표: 75 ~ 80% 5/26일 58~59% 5/27일 50~100% 과적합 상황 5/28일..

    [졸업프로젝트 4탄, 알고리즘 학습] AWS EC2로 딥러닝 모델 학습하기

    [졸업프로젝트 4탄, 알고리즘 학습] AWS EC2로 딥러닝 모델 학습하기 본 글은 졸업프로젝트에 필요한 개념들을 담은 시리즈 글로, 졸업프로젝트와 관련된 글은 다음과 같이 시리즈로 되어있습니다. [졸업프로젝트 개요, 1탄 RNN] 딥러닝을 이용한 자율주행카트 [졸업프로젝트 2탄, CNN] ResNet50 톺아보기: 구조와 코드 분석 [졸업프로젝트 3탄, HW] turtlebot3로 SLAM, Navigation 구현(2020 Summer) [졸업프로젝트 4탄, 알고리즘 학습] AWS EC2로 딥러닝 모델 학습하기 본 글은 위의 시리즈 중 마지막 버전으로, 위에서 만든 알고리즘들을 연결해 하나의 시스템으로 만들고, 완성도를 높이기 위한 여러 시도들을 담아보았습니다. 내용은 AWS Cloud를 통해 딥러닝..

    [논문리뷰] Everybody Dance Now

    Everybody Dance Now #MotionTransfer #videotovideotranslation #GAN Dataset: a variety of videos, enabling trained amateurs to spin and twirl like ballerinas, perform martial arts kicks, or dance as vibrantly as pop stars Transfer motion between two video subjects in a frame-by-frame manner > mapping between images of two inidividuals > discover an image-to-image translation between source and tar..