분류 전체보기
-
딥러닝 #3 생성모델 part 1 Boltzmann Machine인공지능 2021. 3. 8. 04:04
" 이전 글에서 합성 신경망에 대해 다루었다. 이번 글에서는 학습한 데이터와 유사한 데이터를 생성하는 생성모델에 대해 논하겠다. 통계물리학 개념을 활용하여 물질이 특정 형상(configuration)의 상태에 있을 확률을 표현하는 볼츠만 머신과 파생모델, 생성모듈&판별모듈 구조를 통해 데이터를 생성하는 GAN (Generative Adversarial Network, 대립쌍 생성망)을 다룰 것이다. " 생성모델 DNN 모델은 두 가지로 분류된다. 입력이 주어졌을 때 출력값을 결정하는 판별모델과, 특정 분포의 데이터가 만들어질 때 사용되는 함수나 절차를 모사하는 생성모델이 있다. 생성모델은 학습 데이터를 가장 잘 표현하는 확률분포를 출력으로 가진다. 학습데이터에 대한 결합확률분포를 활용하여 조건부확률 p(..
-
딥러닝 #1 (작동 구조, 기울기 소멸 문제, 과적합 문제)인공지능 2021. 1. 31. 16:38
" 최근 '알파고'부터 시작하여 '이루다 AI 챗봇'에 이르기까지 딥러닝 모델에 대한 발전과 관심이 점점 커져 왔다. 하지만 개인 정보 및 사생활 침해 문제들과 미래의 일자리가 뺏길 것에 대한 우려의 목소리들 역시 커지고 있는 상황이다. 대부분의 우려는 오해로부터 발생하는 것으로, 오해를 바로잡기 위해선 개략적으로 시스템을 이해해 볼 필요가 있다. 이번엔 딥러닝 모델의 기본 구조가 어떻게 되어있고 딥러닝 모델을 개발함에 있어 기본적으로 해결해야 할 문제점에 대해 논해 보겠다. " 딥러닝이란 여러 층으로 이루어진 인공 신경망을 사용하여 머신러닝 학습을 수행하는 방식이다. 머신러닝 범주 안에 존재하는 학습 방식이지만 "층의 개수가 머신러닝보다 훨씬 많다는 점(최소 3층 이상)"과 "입력 데이터 중 학습에 적..
-
Ubuntu 18.04.05 LTS 가상머신에 설치하기ROS & Programming 2021. 1. 18. 15:39
PC의 경우 대체로 하드웨어 호환성에 문제가 되는 경우는 없으나 노트북의 경우 회사별로 다양한 펌웨어와 메인보드를 사용하기에 Ubuntu설치가 어렵거나 불가능한 경우가 있다. 이때 Ubuntu를 활용한 개발에 임시로 활용할 수 있는 방법이 바로 VMware인데, 듀얼부팅과 같은 복잡한 절차 없이 우분투를 손쉽게 사용할 수 있다. 다음의 방법으로 가상머신을 활용하여 우분투를 설치하고 구동할 수 있다. 1. Downloads – Oracle VM VirtualBox 사이트에 접속하여 VirtualBox를 설치한다. 운영체제에 맞는 프로그램이 준비되어있으니 본인의 노트북에 따라 선택하여 설치하면 된다. 2.가상머신을 생성한다. 다음 창에서 새로 만들기(N)를 선택한다. 3. 추가를 누르면 다음과 같은 창이 뜨..
-
[C++] 포인터 변수와 레퍼런스 변수ROS & Programming 2021. 1. 10. 17:42
◆포인터 할당된 메모리 공간주소를 가리키는 변수 주소(Address)와 타입(Type)으로 구성되며 특별한 연산자를 이용하여 접근 포인터 변수는 항상 4바이트 메모리가 할당, 타입은 포인터 변수가 가리키는 번지로 가서 몇 바이트를 읽어오는가를 결정 ◆포인터 연산자 * : Dereference Operator & : Address of Operator int x = 10; //변수: 메모리가 할당된 공간에 붙은 이름 int y = 20; int *ptr = &x; //포인터 변수: 포인터(메모리의 특정 위치)를 저장 int &ref = x; //레퍼런스 변수: 할당된 공간에 이름을 하나 더 추가시키는 것(별칭) func(&x, &y) void func(int *x, int *y){ int temp; tem..
-
Ubuntu18.04에 ROS 설치 및 개발환경 구축ROS & Programming 2021. 1. 4. 17:37
ROS란? ROS(Robot Operating System)는 로봇용 공개소스 메타 운영체제로, Node라고 하는 독립적인 프로세스로 이루어져 코드 재사용을 편리하게 하는 플랫폼입니다. 참고: http://wiki.ros.org/ko/ROS/Introduction ko/ROS/Introduction - ROS Wiki ROS란? ROS 는 로봇용 공개소스 메타 운영체제입니다. ROS는 일반 운영체제에서 제공하는 하드웨어 추상화, 저수준 기기 제어, 빈번히 사용되는 기능들이 구현되어 있으며, 프로세스간 메시지 전달 wiki.ros.org ROS 설치 방법 1. Configure Ubuntu repositories 다운로드 위치가 '주 서버'로 되어있는지 확인합니다. 2. Set up sources.list..
-
왜 리눅스를 사용하는가?ROS & Programming 2020. 12. 28. 12:49
처음 ROS(로봇 운영 체제) 공부를 하던 당시 문득 의문이 들었다. ROS를 실행하기 위해선 버전에 맞는 Ubuntu가 필요하다고 하는데 왜 그런가? ROS가 Ubuntu만을 지원해서 그런가? 사실은 그렇지 않다. ROS는 분명 다양한 OS에서의 작동을 지원한다. 하지만 공식적으로 지원하는 OS가 Ubuntu이며 Ubuntu 환경에서 ROS를 실행하는 유저가 절대적으로 많기에 일반적으로 Ubuntu 상에서 ROS를 실행시키는 것이다. 그렇다면 왜 ROS는 공식적으로 지원하는 OS로 Ubuntu를 골랐을까? 또 왜 개발자들은 Ubuntu 혹은 그 외 리눅스 커널 기반 OS들을 주로 사용하는 것일까? 왜 리눅스를 사용하냐는 질문의 답은 리눅스의 특징으로 이어진다. 첫째, 소스 코드가 공개되어 있는 ‘자유 ..
-
서포트 벡터 머신(Support Vector Machine)인공지능 2020. 12. 20. 18:44
서포트 벡터 머신(Support Vector Machine, SVM)은 주로 분류와 회귀에 사용되며 이상치 탐지에도 사용할 수 있는 다목적 머신 러닝 모델입니다. 특히 복잡한 분류 문제에 잘 들어맞으며 작거나 중간 크기의 데이터셋에 적합합니다. SVM은 주어진 데이터 집합을 바탕으로 새로운 데이터가 어떤 범주에 속할지 판단하는 비확률적 이진 선형 분류 모델을 생성합니다. 생성된 분류 모델은 데이터가 있는 공간에서 경계로 표현되며 SVM은 그 중 가장 큰 폭을 가진 경계를 가진 알고리즘입니다. 위의 그림에서 검은색과 흰색으로 두 가지 범주의 데이터가 있습니다. 붉은색으로 표시가 된 데이터 샘플을 서포트 벡터라고 하며 이들에 의해서 경계가 결정됩니다. 이 결정 경계의 밖에 새로운 데이터가 추가되더라도 경계의..