2024/11 6

강화학습에서 Value Iteration / Bellman backup

스탠포드 강의를 듣고 있는데, 이 부분은 어렵게 표현하려고 안달난 것 같다.gpt를 보고 어느정도 이해했다고 생각해서 정리할 겸 올린다.  즉 B라는 연산은 현재 상태에서 할 최적의 행동을 고르는 것이다.여기서 최적이라는 것은 기댓값 처럼 사용해서 구하는데 위에 식에서 보이는 확률이 곱해진 느낌이다. value iteration이라는 것은 이러한 Bellman Backup을 반복적으로 시행하는 것이다.그냥 dp[s] -> s상태에서 갈 수 있는 최적의 값이라고 두면 R(s,a)-> 행동에 대한 보상이니까 대충 확률 dp 느낌? 으로 전이된다. 감마씩 곱해지는게 느낌은 비슷한 것 같다.결국 반복과정에서 수렴하는지를 살펴봐야 한다.수렴할까? 증명 순서는 다음과 같은데  1. B가 축소 사상이다.2. 축소 사..

공부용모음

https://online.stanford.edu/programs/artificial-intelligence-graduate-certificate스탠포드는 신이다.https://github.com/chiphuyen/aie-book/blob/main/resources.md  수학https://m.blog.naver.com/ryumochyee-logarithm/222950784139         TO DO 1. suffix automation 2. 압축 trie3 .aho-corasic 4. 트리 압축 5. ailens trick 6. eer TREE 복습리스트 1. manacher 2. suffix array,cht,kmp,볼록껍질 안보고 짜기  3.  suffix tree / automation

자유/계획 2024.11.20

#28155 Splitting Pairs

핵심은 홀 -> 홀/짝 으로 나누어 진다는 점이다. 즉 모두 홀수인 상태로 상대에게 넘겨주게 되면, 상대는 임의의 개수의 홀수를 다시 홀/짝으로 분해해서 줄 텐데, 홀수의 개수 >= 짝수의 개수 이다. 따라서 다시 항상 홀수인 상태로 상대에게 넘겨줄 수 있다. 따라서 내 차례에서 모든 짝수를 없앨 수 있다면 승리한다. 이에 생각을 확장해보면모두 홀수인 게임판은 후공이 이긴다.홀수와 짝수가 동시에 존재하는 게임판은 선공이 이긴다.짝수만 존재하면서 짝수가 짝수개인 게임판은 선공이 이긴다.결국 짝수만 있는, 짝수가 홀수개인 게임판이 문제가 된다.그런데 2번 상태 때문에, 홀수를 하나라도 넘겨주면 진다...따라서 이제 상대 차례에 모든 수를 짝수로 넘겨줄 수 있어야만 내가 이긴다.이 문제는 어떻게 풀까? 전체를..

os별 F#의 줄바꿈.

우리학교서버에 vscode 원격접속은 금지상태이다.서버의 문제인지 vscode의 문제인지 학교의 문제인지는 제쳐두고, 정상적인 사람이라면 원격접속을 해서 프로젝트나 과제를 하기마련인데 어쩔 수 없이 로컬로 세팅을 했다.150줄 엄청난 집중력으로 type checking 하는 F# 코드를 짰는데 분명 output이 맞는데 자꾸 wrong answer가 나오는 것이다... 보이는 건 똑같은데 이런 python 코드로 체크를 하는데 길이를 출력하게 해 보았다.  이럼 분명 뭐 줄바꿈이나 공백문자에 문자가 있을 것이라고 예상했는데, 이게 지금 F#은 type checking 오류인 줄의 번호를 List로 만들어서 넘겨주기만 하면 되는 문제라서 결국 내가 짠 부분에서의 문제는 아닌 것이다.그래서 gpt한테 물어보..

CS/Compiler 2024.11.18

F#에서 재귀함수와 불변성 (Immutability)에 관한 쉬운 문제

학교 기초 컴파일러 수업에서 F#언어를 다루고 과제가 나왔다.module P2// (Note) Do NOT change the definition of the following type and exception.type Exp =    Num of int  | Add of Exp * Exp  | Sub of Exp * Exp  | Mul of Exp * Exp  | Div of Exp * Expexception DivByZero/// Return the integer value represented by the expression 'e'. If there is any/// division-by-zero case, raise the 'DivByZero' exception.let rec eval (e: Ex..

CS/Compiler 2024.11.12

Cross entropy Loss에서 gradient 구하기

딥러닝 개론 수업 과제를 하면서 꽤나 까다롭게 느껴져서 정리하고자 올린다.일단 gpt를 보고 어느정도 도움을 받기는 했는데 gpt는 softmax function과 sigmoid 함수 관계를 자꾸 설명하지 못해서 내가 손으로 직접 풀었다. 1. Softmax Function  2. Cross Entrophy Loss  Softmax Fuction의 미분은 같이 나오게 되는데, 이는 각각에 대해 편미분을 생각해보면 조금 편하다. 우선 j와 k가 다를 때는 분수함수의 미분을 사용해야 하는데, k에 대해서 생각을 해보면 1/f 꼴의 미분이라는 것을 알 수 있는데,e^x 의 미분은 자기 자신이여서,  f'/f = softmax(sk)가 나온다 j = k 일때는 더 쉽다. 시그모이드 함수를 g라고 하자. g(x)..