반응형

전체 647

밑바닥부터 시작하는 딥러닝 4 도서 리뷰

이 책은 밑바닥부터 시작하는 딥러닝의 4번째 시리즈로 심층 강화학습을 다룬다. 강화학습에 대한 이론은 이미 오래전에 정리가 되었지만 딥러닝의 등장으로 심층 강화학습이라는 형태로 더 발전하여 기존 강화학습의 한계를 뛰어넘게 되었다. 강화학습에 대한 이론은 그다지 새로울 것이 없기 때문에 이 책에서 어떻게 강화학습에 대한 이론을 풀어가는지에 대해 중점적으로 살펴보았다. 개인적으로 강화학습에 대한 이론을 어느정도 알고서 보는 것이기 때문에 이 책을 더 재밌게 읽을 수가 있었던 것 같다. 이 책은 밑바닥부터 시작하는 딥러닝 3과 연결되는 코드가 있다는 점은 참고해야한다. 비록 3권을 보지 않더라도 큰 문제는 되지 않지만 시간이 되고 가능하면 3편을 보는 것이 좋다는 생각이 든다. 우선 이 책은 설명이 대단이 구..

A.I./강화학습 2024.02.25

물감

감정은 물감의 색과 같다. 여러가지 물감이 섞이면 하나의 색으로 표출된다. 이렇게 섞인 색 속에는 다양한 색의 조합이 있겠지만 그 조합을 역으로 알아내기는 어렵다. 그래서 가끔은 내 감정을 잘 모를 때가 많은 것 같다. 너무 옅은 색은 있었는지도 모른채 섞여있을 수 있고, 너무 짙은 색은 다른 색들을 집어 삼킨다. 조금씩 천천히 스며드는 색은 본래의 색을 유지시킨 채 천천히 스며들며 변화된다. 색은 감정같다. 아무리 옅은 감정도 섞여서 없어지는 것이 아니라 본래의 색을 조금이라도 변화시킨다. 감정은 색과 같아서 비 언어적인 형태지만 가끔 글을 쓰는 것은 마치 분광기를 통과시키는 것 같아서 내 마음 속 색의 조합을 정리해주기도 한다.

일상 2024.01.14

2023년을 보내며. 영원한 자유를 찾아서.

사색하는 것은 인간으로 살아가고 맑은 정신을 유지하는 데 있어 매우 중요한 행동이라고 생각한다. 그런데 사색이 현대인에게는 너무 어울리지 않아 보인다. 누군가와 이런 대화를 한다는 것은 나 자신의 생각, 가치관을 드러내야 해야하는데 보통은 이상한 눈으로 바라볼 것이 뻔할 것 같았다. 아니 그랬었다. 그래서 보통은 내가 생각하는 바와 대부분의 타인들과의 대화의 틀 간의 갭이 존재한다고 생각하고 살아왔다. 어쩌면 익숙해져왔는지도 모른다. 다행히 친구 중에 목사 친구가 있어서 예전에 그 친구와 어떤 주제로 깊게 이야기 해 본적이 있었는데 그 땐 내가 그 이야기를 다 이해하지 못했었다. 그 후 화엄경에 대해서 알게되었는데 그 때 이야기한 주제가 아마 화엄경의 내용과 비슷했던 것 같다. 그런데 보통은 살아가는 것..

일상 2023.12.31

세상의 흐름을 만들어갈 것인가 아니면 그냥 흐르는데로 살 것인가?

AI기술이 점점 빠르게 삶을 파고든다. 난 회사에서 백엔드 개발자로 개발을 하며 먹고산다. 그럼에도 AI에 관심이 많아 회사 내에서도 AI관련 기술로 문제를 해결하기도 했다. 하지만 우리 회사는 AI와는 거리가 멀다. 개발자들이 생각보다 AI 기술에 관심있어하지는 않는 것 같다. 난 내 AI기술을 더 발전시키고 싶고 다른 사람들과 교류도 하고 싶지만 그러기 쉽지 않다. 집에오면 쉬고 싶기 때문이다. 그 동안 월급 잘 나오는 회사에서 난 나태해진 것 같다. 그런데 강화학습은 앞으로 더 두각될 것이다. 난 AI의 꽃이라 불리는 강화학습에 관심이 많다. 현재 몇 권을 책을 정독중이지만 그 이론은 머신러닝에 비해 추상적이고 생소한 부분이 있어 쉽지 않다. 블로그도 참 오랫동안 방치해 놨다. 아마도 그 동안 많은..

일상 2023.06.11

일기(10/3)

블로그를 잘 안쓴다. 사실 좀 바쁘다. 요즘 가을하늘이 참 맑다. 하지만 지금은 비가 많이 내리고 휴일의 마지막 밤 11시다. 저번주에는 회사에서 워크샵을 갔다왔다. 그냥 그랬다. 하루가 지나는 것이 반복되며 시간은 흘러간다. 시간이 빠르다고 하지만 시간은 정직하게 흘러간다. 예전에 내가 원하던 삶은 심플하고 단조롭지만 안정적인 삶이었다. 지금이 그렇다. 이제 좀 자리가 잡히는 것 같다. 그런데 가끔 나는 왜 이런 삶을 살아 왔을까 하고 생각한다. 지나고 보면 참 내가 왜 그랬나 싶은 시간들이 흘러 지금에 있다. 가끔은 그리운 추억같은 기억이지만 다시 돌아간다면 겪고 싶지 않은 일도 있다. 모든게 꿈 같기만 하다. 지금도 미래에 꿈으로 변할 시간을 살고 있다. 꿈으로 변한 시간에 나와 같이 했던 사람들이..

일상 2022.10.03

플랫폼 서비스 보다는 기술 스타트업

사이드 프로젝트로 하는 일에 강화학습을 사용할 일이 생겼다. 사실 4년전 강화학습에 관심을 갖고 이론적인 부분은 대충 훑어본 후 간단한 길 찾기 강화학습 모델을 만든 적이 있다. 강화학습이론을 제대로 공부하고 만든 건 아니었는데 지금 강화학습을 제대로 공부하면서 그 당시 어떻게 저걸 만들었을 까하는 생각이 들었다. 실제 강화학습에 대한 이론은 상당히 철학적이다. MDP라는 마르코프 디시전 프로세스는 강화학습을 위한 문제정의 방법이며, 다양한 방정식들을 토대로 밸만 기대 방정식을 만든다. 여기에 신경망을 덧붙여 심층 강화학습을 하거나 다양한 변형이 있는 걸로 알고 있다. 이론에 대한 부분만 정독으로 5번 이상 읽고 있다. 보면 볼 수록 참 신비로운 이론이다. 인간이 걸음마를 배우거나 자전거를 배우는 것이 ..

일상 2022.09.19

자바스크립트 호이스팅(var, 함수)

호이스팅이란, 메모리에 미리 할당하는 것을 의미한다. 자바스크립트에서는 호이스팅이라는 개념이 있지만 호이시팅을 지양하는 분위기다. 호이스팅은 예측하지 못할 결과를 초래할 가능성이 존재하기 때문이다. 호이스팅이 적용되는 경우는 var를 사용하거나 함수 선언을 하는 경우다. 먼저 예측하지 못할 가능성에 대한 예제를 몇가지만 만들어 보려고 한다. console.log(myVariable); // undefined var myVariable = 33; console.log(myVariable); // 33 var 를 사용하게 되면 호이스팅이 되어 위 코드에 선행되어 myVariable의 선언이 먼저 이루어진다. 다음과 같은 코드로 호이스팅을 표현할 수 있겠다. var myVariable; // 선언 consol..

javascript 얕은복사, 깊은복사에 대한 이해

복사는 값의 전달을 목적으로 합니다. 문서를 복사하는 것처럼 컴퓨터 내에서도 파일을 복사하거나 하죠. 컴퓨터 사용 시 흔하게 파일을 복사합니다. 원본이 있을테고 복사한 파일은 원본과 똑같지만 원본은 아닙니다. 그리고 복사본을 수정한다고 해도 원본은 변하지않고 복사본만 수정되겠죠. 위와 같은 방식이 일반적인 사람들이 익숙해져 있는 사고방식입니다. 실제 생활에서의 복사본은 원본과 연결되지 않습니다. 그리고 이 방식을 깊은복사라고 이해해 두시면 되겠습니다. 얕은복사 전에 참조를 먼저 javascript만 공부하신 분이라면 대략 다음과 같이 얕은 복사를 이해 또는 암기하고 계실겁니다. 객체를 얕은복사를 하면 객체의 원소 중 원시타입이 아닌 객체에 대해 참조를 공유한다. 네 이 말은 맞습니다. 하지만 전 이렇게 ..

파이썬 클래스 getter, setter와 네임맹글링(name mangling)

getter와 setter의 사용 의미 getter/setter 클래스의 속성값에 직접 접근 막기 위함에 목적이 있습니다. 직접 접근을 막고 정해둔 메소드로만 접근하게 함으로서 메소드의 특성도 얻게되므로 값의 조작이나 값의 검증하거나 제한할 수 있습니다. 파이썬의 getter/setter의 사용법 파이썬에서 getter와 setter는 property 장식자를 사용하여 만들 수 있습니다. 앞으로 제시되는 예제는 3단계를 거쳐 문제점이 수정되어 완성되갑니다. 1단계 - 순수한 getter/setter # getset.py class GetSetTest(): def __init__(self): self.count = 1 def get_count(self): # getter return self.count d..

react-native eslint 설정

eslint란? lint는 linter라고도 하며 소스코드의 문법오류나, 버그등을 찾아주는 도구라 할 수 있습니다. 이러한 linter는 최신 개발환경에는 필수로 자리잡았습니다. 그러므로 어떤 언어든 개발을 하기 앞서 linter의 활용법을 잘 알아야 합니다. 자바스크립트에서 사용하는 linter는 ESlint입니다. 앞서 강의에서 react-native typescript 환경을 설치한 후 시작하도록 하겠습니다. $ npx react-native init TestProject --template react-native-template-typescript 위 설정만으로도 eslint가 설치됩니다. 기본 설치 (V7.32.0) 버전이 설치되는데 최신 버전의 eslint를 설치하도고 싶다면 다음과 같은 과정..

반응형