-
AtCoder Grand Contest D Median Pyramid Hard 풀이
문제 요약 문제 링크 $N$층의 피라미드가 있다. $i$번째 층에는 $2i - 1$개의 칸이 있다. 피라미드의 $N$층에 $1, 2, \cdots, 2N-1$을 적절히 섞은 순열이 쓰여 있다. $1$층 부터 $N-1$층 까지의 칸에 숫자를 채우는 규칙은, 그 칸에 있는 수가 그 칸 아래쪽에 있는 $3$개의 수의 중앙값이라는 것이다. 위 방법에 따라 피라미드를 채웠을 때, $1$층에 있는 칸에 쓰인 숫자를 구해라. $ 2 \le N \le 10^5 $ 풀이 1. $O(N^2)$ 규칙에 맞춰서 모든 칸의 값을 구해본다. 공간복잡도가 $O(N^2)$라고...
-
WAVENET: A GENERATIVE MODEL FOR RAW AUDIO
소개 2016년 구글 딥마인드에서 오디오 생성 모델인 wavenet에 관한 논문을 공개했습니다. 이 당시 대부분의 TTS 모델은 녹음된 음성 데이터를 쪼개고 조합해서 음성을 생성하는 방식인 Concatenative TTS를 기반으로 구현되었습니다. 이 방식은 기본적으로 많은 양의 데이터를 필요로 했고, 화자나 톤을 바꾸는 등의 변형을 할 때마다 새로운 데이터가 필요했습니다. 이에 따른 대안으로 통계적인 방법으로 음성을 생성하는 parametric TTS 방식이 주목받았지만 Concatenative TTS에 비해서 생성된 음성이 덜 자연스러웠습니다. wavenet은 기존의 방식과 다르게 오디오의 파형을 직접 모델링하여 훨씬 자연스러운 음성를...
-
Soft Actor-Critic
Goals 본 논문은 “Soft Actor-Critic: Off-Policy Maximum Entropy Deep Reinforcement Learning with a Stochastic Actor” 논문의 확장판으로, continuous action space 환경에서 동작하는 off-policy 알고리즘인 SAC를 소개합니다. 주된 목표는 다음과 같습니다. Off-policy 알고리즘을 통한 sample inefficiency 해결 On-policy 알고리즘의 경우 업데이트에 쓰이는 데이터가 항상 현재 학습 대상인 policy에서 생성되어야 하기 때문에 한번 사용한 데이터는 다시 쓰지 못하는 단점이 있습니다. Objective에 Entropy term을 추가를 통한 near-optimal policy 고려와 exploration 능력 향상 Policy의 엔트로피가 클수록 특정 행동의 확률이...
-
알고리즘 문제 풀이5
알고리즘 문제 풀이 5 최근에 푼 재미있는 문제들을 포스팅 해보겠습니다. BOJ 1185 숫자 놀이 이 문제는 $2N - 1$ 개의 숫자가 주어질 때, 그 중에서 $N$ 개의 숫자를 골라서 합이 N의 배수가 되도록 만드는 문제입니다.(단, $N = 2^n$ 꼴의 수 입니다) 우선 “합이 $N$ 의 배수가 되는 $N$ 개의 숫자를 골라내는 것이 언제나 가능할 것인가?” 라는 의문이 생깁니다. 수학적 귀납법을 사용하면 이러한 의문과 이 문제에 대한 답을 동시에 제시해주는 풀이를 얻을 수 있습니다. 지금부터 알아보도록...
-
Purely Functional Business Logic In Scala
안녕하세요~ 오늘은 스칼라에서 비지니스 로직을 purely functional 하게 설계하는 방법에 대해서 소개해볼까 합니다. 함수형 프로그래밍, 스칼라, cats, DDD 에 대해서 알고 계시면 이해가 수월하시겠지만 모르시는 분들을 위해서 기본적인 설명도 같이 첨부해두었습니다. » 이 글을 좀 더 좋은 가독성으로 읽기 « 다루는 내용 cats 의 RWST (ReaderWriterStateT) 를 활용해서 핵심 비지니스 로직을 purely functional 하게 작성하는 방법 그렇게 작성된 비지니스 로직을 DDD (Domain Driven Development) 설계에서 사용하는 방법 비지니스 로직에 대한 고찰 소프트웨어 설계와 개발에 있어서...