본문 바로가기

분류 전체보기68

5장. 자기회귀 모델 (Autoregressive model) 이번 포스팅에서 생성 모델링 문제를 '순차적'으로 다루는 자기회귀 모델에 대해 알아보자. 자기회귀 모델은 생성 문제를 순차적인 과정으로 다뤄 단순화한다.앞 장에서 살펴본 VAE, GAN과는 달리 잠재 확률 변수를 사용하지 않고 시퀀스에 있는 이전 값을 바탕으로 예측을 만든다.따라서 데이터 생성 분포를 근사하는 것 보다는 명시적으로 이를 모델링 한다는 점에서 차이가 있다. 1. LSTM LSTM은 순환 신경망의 한 종류이다.순환 신경망에는 순차적인 데이터(텍스트 데이터, 시계열 데이터 등)을 처리하는 순환 층(셀)이 있고,특정 타임 스텝에서 셀의 출력이 다음 타임 스텝의 입력으로 사용된다.재귀적으로 되먹이는 구조를 가지는 네트워크이기 때문에 recurrent neural netwrok, RNN으로 쓰인다... 2024. 5. 16.
[ROS 2] 개념 및 용어 정리 ROS 2에서 robotic system을 구현하는 데 필요한 몇 가지의 개념이 있다.ROS 2 tutorial에서 공부한 내용을 바탕으로 정리해 보자!1. Node(노드)ROS graph는 ROS 2에서의 모든 데이터를 동시에 처리하는 네트워크를 일컫는다.ROS graph에서 실행가능한 모든 파일은 연결되어야 하고, 이를 매핑하고 시각화할 줄도 알아야 한다.  위의 영상을 보면 전반적인 ROS system의 흐름을 보여준다. (ROS graph)이는 Node와 Node들 사이에 데이터가 오가면서 이뤄진다. 여기서 Node는 로봇의 바퀴를 제어한다던지 측정 데이터를 publishing 한다던지와 같은 single, modular의 목적을 가지고 있어야 한다.각각의 Node는 topic, service, .. 2024. 5. 9.
4장. 생성적 적대 신경망(GAN) 4장의 Generative adversarial network에 대하여 학습해 보자. GAN의 어떠한 구조적 특징을 가지고 있는지, 이에 대한 문제점은 무엇이 있는지 파악한 다음, 이를 와서스테인 GAN과 WGAN이 어떻게 해결하고자 하는지 알아보자! 1. GAN의 두 네트워크 구조 GAN은 General Adversarial Network의 약자로 생성적 적대 신경망이라고 부른다. 이를 해석해 보면 "적대적인 두 신경망으로 결과를 생성한다."라고 볼 수 있다. 어떤 아이디어가 이를 가능하게 할까? 이를 이해하기 위해서는 우선 GAN의 구조에 대해 알 필요가 있다. GAN은 생성자(generator)와 판별자(discriminator)가 서로를 이기려고 하는 과정을 통해 의미 있는 샘플을 생성하는 것이다.. 2024. 4. 17.
[Mac M1] ROS2 + Gazebo 설치하기 로봇 시뮬레이션을 위해 ROS2와 Gazebo를 다운받으려는데 자꾸 오류가 났다. UTM으로 ubuntu 22.04버전을 다운 받아 가상 머신에서 docker로 ROS2를 실행해 보았으나, Gazebo를 설치하고 실행하는 과정에서 계속 오류가 났었다.. ARM chip에서 ubuntu22.04와 gazebo의 호환성에서 발생한 것 같은데 확실하진 않다. 그래서 그냥 로컬에 직접 설치하여 이를 해결했다. 이번 포스팅에서는 Mac M1칩 환경에서 ROS2를 로컬에 직접 설치하는 방법에 대해 소개한다. 설치 단계는 크게 다음과 같다. 1. homebrew installation 2. conda environment installation 3. ROS2 installation using Robostack 4. .. 2024. 4. 2.
[Paper Review] YOLACT: Real-time Instance Segmentation 이번 포스팅에서는 ICCV 2019에 나온 YOLACT 논문을 리뷰할 예정이다. 해당 논문은 '실시간'으로 이미지를 instance segmentation 문제를 해결하는 방법을 제시한다. Paper: https://arxiv.org/abs/1904.02689 YOLACT: Real-time Instance Segmentation We present a simple, fully-convolutional model for real-time instance segmentation that achieves 29.8 mAP on MS COCO at 33.5 fps evaluated on a single Titan Xp, which is significantly faster than any previous com.. 2024. 3. 27.
ROS(robot operating system)의 등장 배경 최근 로봇에 AI를 접목시키는 것에 관심이 생겼다. 이와 관련된 공부를 하다가 ROS와 ROS 2에 대해 알아야 했다. 인공지능 공부하는 데 파이썬을 알아야 하는 것과 같은 느낌이 들었다. 그렇다고 ROS 2가 프로그래밍 언어 자체는 아니다. 따라서 이번 포스팅에서는 ROS 2를 사용하기 전에 그 등장 배경에 대해 간략하게 알아보도록 하겠다. 비대면적 서비스가 활발해짐에 따라 다양한 기술이 산업에 적용되었다. 특히 코로나 이후 인공지능, 로보틱스 등이 빠르게 발전하고 있다. 최근 기사를 보면 로봇이 치킨도 튀기고, 요리도 하는 경우도 있으며 심지어 배달까지 하는 로봇까지 개발되고 상용화 과정에 있다고 한다. 실제로 식당에 가보면 로봇이 테이블로 직접 서빙해 주는 경우를 본 적이 있기도 하다. 그렇다면 이.. 2024. 3. 27.
3장 - 변이형 오토인코더 (VAE) 이번 포스팅에서 오토인코더와 변이형 오토인코더의 서로 다른 구조를 학습하고, 구조적 차이가 어떤 문제를 해결하고자 하는지 알아보자! 1. 오토 인코더 (Autoencoder) Autoencoder는 다음과 같은 구조로 이루어져 있다. 단순하게 입력에 대한 인코딩과 디코딩 작업을 수행하도록 훈련된 신경망이다. 오토 인코더에서 중요한 개념은 딱 세 가지이다. 1. 인코더(encoder) 2. 잠재 공간(latent space) 3. 디코더(decoder) 먼저 인코더는 이미지 같은 고차원 입력 데이터를 저차원 임베딩 벡터로 압축하는 역할을 한다. 쉽게 말해서 픽셀값으로 이루어져 있는 입력 데이터를 어떠한 이미지적 특징(ex. 사람의 눈, 고양이의 귀, 질감 등등)을 가지도록 차원을 축소시키는 것을 의미한다... 2024. 3. 26.
2장 - 딥러닝 이번 포스팅에서는 '만들면서 배우는 생성형 AI' 2장 내용으로 딥러닝 모델링의 개괄적인 개념과 활용에 대해 알아보자 1. 딥러닝용 데이터 딥러닝 학습에 필요한 데이터는 매우 다양하다. 이미지, 텍스트, 오디오 뿐만 아니라 영상과 같은 비정형 데이터가 있다. 그렇다면 정형 / 비정형 데이터는 무엇이 다를까? 기존의 많은 머신러닝 알고리즘은 테이블 형태의 정형 데이터를 입력으로 받는다. 엑셀로 표현된 데이터가 대표적인 정형 데이터이다. 각 데이터 샘플의 특성이 열로 표현되고 이 특성이 출력에 어떻게 영향을 미치는 지 모델이 학습을 한다. 반면 비정형 데이터는 특성의 열로 구성할 수 없는 데이터를 의미한다. 이미지의 픽셀, 음성의 진동수, 텍스트의 문자 하나에는 정보가 거의 없어 이를 표현하는 것은 비효율적.. 2024. 3. 18.
모델의 평가 방식: Evaluation Metric 우리가 열심히 만든 딥러닝 모델이 얼마나 성능이 좋은지 파악하려면 어떻게 해야 할까? 이번 포스팅에서 모델을 평가하는 평가 지표에 대해 알아보자. 먼저 Evaluation metric을 알아보기 앞서 Loss와 Metric의 차이를 알 필요가 있다. 간단히 설명하면 Loss와 metric은 다음과 같다. - Loss: 모델 학습 시 학습 데이터(train data)를 바탕으로 계산되어, 모델의 파라미터 업데이트에 활용되는 함수 - Metric: 모델 학습 종료 후 테스트 데이터(test data)를 바탕으로 계산되어, 학습된 모델의 성능을 평가하는데 활용되는 함수 즉, 학습 도중에 파리미터를 업데이트하는데 관심 있는 함수는 Loss function이 될 것이고, 학습이 끝나고 모델의 성능을 평가하는 데 .. 2024. 3. 13.