분류 전체보기

    [강화학습] Dueling Double Deep Q Learning(DDDQN / Dueling DQN / D3QN)

    Dueling Double DQN https://arxiv.org/pdf/1509.06461.pdf https://arxiv.org/pdf/1511.06581.pdf Double DQN DQN에서 reward를 과대 평가하는 문제가 있음. Q Value가 agent가 실제보다 높은 리턴을 받을 것이라고 생각하는 경향 ⇒ Q learning update 방정식에 다음 상태(state)에 대한 Q value 최대값이 존재하기 때문 Q 값에 대한 max 연산은 편향을 최대화한다. 환경의 최대 true value가 0인데 agent가 추정하는 최대 true value가 양수인 경우에 성능 저하 해결을 위해 두 개의 network 사용. Q Next : action selection → 다음 액션으로 가장 좋은 ..

    [Computer Science] CPU 작동원리

    CPU 작동원리 CPU 구성 연산 장치(ALU) 산술 / 논리 연산 수행 데이터를 레지스터에서 읽어오고 다시 레지스터에 결과를 저장 제어 장치 명령어의 순서를 제어 주기억장치에서 명령어를 가져와 해독 → 실행을 위한 신호를 기억/연산/입출력 장치로 전송 레지스터 고속 기억 장치 명령어 주소, 코드, 데이터, 결과 등을 임시 저장함 종류 범용 레지스터 일반적인 데이터/연산결과 저장 특수목적 레지스터 특수 목적으로 사용되는 레지스터 특수목적 레지스터 MAR(Memory Address Register) : 읽기/쓰기 수행하는 주기억장치 주소 PC(Program Counter): 다음에 수행할 명령어 주소 IR(Instruction Register): 현재 실행중인 명령어 MBR(Memory Buffer Reg..

    [라이트 딥러닝] 0. Intro

    제 블로그에서 왠지는 모르겠지만 꾸준히 사랑받아온 라이트 머신러닝 시리즈를 쓴지도 벌써 3년 반이 지났습니다. 처음 이 시리즈를 쓸 때 저는 이제 막 컴퓨터공학 1학년 과정을 마친 학생이었고, 자료구조며 알고리즘도 모르는 주주주주주니어 개발자 시절이었습니다. 때문에 제가 봐도 ‘아, 이 녀석이 이해를 못하고 썼구나….’ 하는 부분들이 분명 존재합니다. 3년 반이 지났고, 저는 8개월 전에 학사 졸업을 했으며, 머신러닝 엔지니어 겸 이것저것 개발자로 경험을 쌓은지도 1년이 조금 넘었습니다. 사실 아직도 아는 게 많다고 느껴지지는 않습니다만, 저때의 저보다는 뭐가 되었든 나은 것도 사실입니다. 이제 한 주주니어 개발자쯤은 됐겠죠? 그리고 당시의 녀석은 몰랐겠지만 내년 후기 대학원 지원을 염두에 두고 있는 만..

    [Monitoring System] 1~4 까지의 내용으로 학술대회에 논문을 냈습니다.

    별 건 아니고 기회가 되어서 한국통신학회 하계종합학술대회에 해당 내용으로 논문을 실을 수 있게 되었습니다. 후속 논문으로 이상탐지 관련 내용을 정리해두고 있는데 쓸 수 있을런지까지는 잘 모르겠네요ㅎㅎ 실험장치에 관한 내용이나 자세한 세팅 등의 내용이 포함되어 있습니다. 필요하면 읽어보셔도 될 것 같습니다. 두 페이지 짜리고 무려 천원(!)입니다. 감사합니다 :) 고속 무선 통신 기반의 실시간 진동 측정 및 분석 시스템 | DBpia 강다인, 조수형, 김대환 | 한국통신학회 학술대회논문집 | 2023.06 www.dbpia.co.kr

    [Data] 전동 모터 이상탐지 및 분류를 위한 주파수 분석

    1. 데이터 취득 Sampling rate 25.6kHz DC Motor, 자체 제작 실험환경 데이터 파일 당 102,400개 포인트 2. FFT 모터 주파수 분석 1. Normal 정상상태 모터의 주파수는 진동 차수(Harmonic)가 반비례한다. 현재 실험 세트의 모터는 약 3600rpm을 가지고 있으므로 진동차수는 1차 60Hz, 2차 120Hz, 3차 180Hz로 이루어져 있다. 위 FFT 주파수 분석 결과 1차, 2차, 3차 진동 차수 순으로 amplitude가 감소하는 것을 확인할 수 있다. 2. Misalignment 오정렬(Misalignment) 상태는 Parallel Misalignment(지면과 모터의 축은 평행하나 베어링을 기준으로 단차가 존재할 떄)와 Angular Misalign..

    [Spring 입문] 5. 회원 관리 예제 - 웹 MVC 개발

    1. 회원 웹 기능 - 홈 화면 추가 localhost:8080 으로 호출 container에서 뒤짐 localhost:8080/ < 컨트롤러 있음 연결! package hello.hellospring.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class HomeController { @GetMapping("/") public String Home() { return "home"; } } 2. 회원 웹 기능 - 등록 package hello.hellospring.controller; import he..

    [Spring 입문] 4. 스프링 빈과 의존관계

    1. 컴포넌트 스캔과 자동 의존관계 설정 회원 컨트롤러가 서비스와 레포지토리를 사용가능하도록 하기 → 의존관계 생성 package hello.hellospring.controller; import org.springframework.stereotype.Controller; @Controller public class MemberController { } @Controller 로 annotation을 하게되면 스프링 빈에서 얘를 관리하게 할 수 있음. private final MemberService memberService; 스프링 컨테이너에 등록해서 하나를 여러 개가 공유 @Controller public class MemberController { private final MemberService m..

    [Spring 입문] 3. 회원 관리 예제 - 백엔드 개발

    1. 비즈니스 요구사항 정리 데이터 회원 ID 이름 기능 회원 등록 조회 아직 DB 선정하지 않은 상황 ← 이라는 설정 컨트롤러 : 웹 MVC의 컨트롤러 (API 생성 등) 서비스 : 핵심 비즈니스 로직 도메인 : 데이터베이스에 저장 / 관리되는 것 리포지토리 : 데이터 베이스 접근 / 도메인 객체를 DB에 저장 및 관리 인터페이스로 구현 클래스 변경 가능하게 설계(DB 선정 안 함) 구현체로 메모리 기반의 가벼운 데이터 저장소로 개발 진행 2. 회원 도메인과 레포지토리 만들기 1. Member 클래스 생성 package hello.hellospring.domain; public class Member { private Long id; // database index에 가까움 private String ..

    [Monitoring System] 7. Fast API 로 이틀만에 백엔드 구축하기(feat. Google Chart) (3) - 마침내 그래프 그리기 完

    [Monitoring System] 5. Fast API 로 이틀만에 백엔드 구축하기(feat. SQLAlchemy, PostgreSQL) (1) from sqlalchemy import Boolean, Column, ForeignKey, Integer, String, TIMESTAMP, Float from .base import Base 제목은 거창하게 써놨지만 아주 간단한 백엔드를 구축해서 그리 오래걸리지 않았을 뿐이다^^. 우선 백엔드를 dnai-deny.tistory.com [Monitoring System] 6. Fast API 로 이틀만에 백엔드 구축하기(feat. SQLAlchemy, PostgreSQL) (2) - MQTT 데이터 적 2023.06.13 - [Project/Monitorin..

    [강화학습] gym으로 강화학습 custom 환경 생성부터 Dueling DDQN 학습까지

    인터넷을 다 뒤져봤는데 강화학습을 gym에서 제공하는 게임 agent 사용해서 하는 예제는 육천만 개고 커스텀해서 학습을 하는 예제는 단 한 개 있었다. 이제 막 공부를 시작하는 사람들에게 도움이 되었으면 하는 마음으로 간단하게 써보고자 한다. 1. Gym의 Env 구조 살펴보기 꼭 그래야하는 것은 아니지만(밑바닥부터 구현하는 방법도 있긴 하다) 어쨌든 gym 라이브러리의 environment 구조를 기반으로 해서 구현해볼 것이다. !pip install gym gym 라이브러리의 env 구조는 대충 아래와 같다. site-packages/gym/core.py 에서 직접 볼 수 있다. class Env(Generic[ObsType, ActType]):m.Generator] = None """ The ma..