[리뷰] A comparative analysis between Conformer-Transducer, Whisper, and wav2vec2 for improving the child speech recognition
·
Artificial Intelligence/Article
23년 11월 7일경에 ArXiv 및 11월 15일 경에 IEEE 에 등재된 논문으로서, 제목이 흥미로워 읽게 되었다. 어린이 음성을 input 으로 Confomer, Whisper, Wav2vec 2.0 의 성능을 비교하는 논문이다. 1. Introduce ASR 모델의 훈련은 데이터로 인한 문제가 많이 발생한다. 훈련 데이터가 많지 않거나, transcript 되지 않은 데이터, '어린이' 와 같은 특수 대상의 음성으로 발생하는 문제 등이 지속되고 있다. 하지만 여러 연구자들이 각종 해결법을 제시하면서, 성인 음성에 대해서 인상적인 ASR 성능 증대로 이어졌으며, 심지어 인간 수준의 성능을 달성하는데에도 성공하였다. 하지만 이런 훈련은 어디까지나 주석이 있는(annotated) 음성 데이터가 충분하기..
[리뷰] Robust Speech Recognition via Large-Scale Weak Supervision
·
Artificial Intelligence/Article
해당 논문은 OpenAI 에서 제작한 Whisper 라는 범용 목적의 음성 인식기를 제작하는데 있어서 사용된 논문이다. 1. Introduce 음성인식의 발전은 wav2vec 2.0 에 의해, unsupervised(unlabeled) pre-training 이 가능하게 됨으로 인해 기존에는 활용할 수 없었던 unlabeled 데이터를 생산적으로 사용할 수 있게 되었으며, unlabeled 데이터셋들이 빠르게 확장되는등 긍정적인 영향을 미쳤다. 하지만, 이러한 unlabeled 데이터로 학습된 encoder 는 고품질의 음성표현을 학습했지만, 해당 표현을 출력에 매핑하는 동등한 성능의 디코더는 부족한 실정이다. (ASR은 Encoder 와 Decoder 로 구성되며, 위에서 언급되는 wav2vec 2.0..
docker: Error response from daemon: unknown or invalid runtime name: nvidia.
·
Artificial Intelligence/Preferences
도커를 사용하여 Tensorflow 저장소를 정리하고, 다시 Container 를 만들던 도중 이러한 오류를 만났다. 나는 아래와 같은 과정을 통해 오류를 해결했다. 1. Systemd 활성화 Enable Systemd in WSL 2 I am attempting to debug some C# / .NET 5 code in WSL 2 with Ubuntu on Windows. I have WSL 2 setup with Windows 10 and want to test out creating a Systemd service. Unfortunately, it appears Systemd... stackoverflow.com 기본적으로 WSL2 를 최신 버전으로 업데이트 하길 권장하며, 위 글의 옵션 1 절차..
네이버 My Box 문제점(특수문자)
·
Tools/Etc
그냥 이 한가지 문제로 My Box를 개발자가 쓰기에는 무리가 있다고 생각한다.설계를 어떻게 했는지는 모르겠지만(아마 리눅스 파일시스템에 그대로 사용한 것으로 추정되긴 하는데...),파일 이름에 특수문자를 삽입할 수 없는건 엔지니어 입장에서 치명적이다.  참고로 OneDrive, GoogleDrive 에서는 저런 특수문자 규약이 존재하지 않는다.
존엄
·
Miscellaneous/Hevel
수백년 내로, 인류는 세상 만물을 만들 수 있는 경지에 도달할 것이다. 못 만드는것도 비용적인 문제가 크겠지 물리적으로 불가능하지 않을 것이다. 특히 생명 공학 분야는 앞으로 50년 안에 대격변을 겪을것이다. 이 50년이란 시간 조차 인공지능의 도움을 받지 않는것을 전제로 한 것이다. 인공지능의 도움을 받는다면 앞으로 30년 내에 생명공학 분야에 대격변을 일궈낼거라 확신한다. 여기서 대격변이란 실제 모든 유전정보의 패턴과 얽힘을 파악하게 된다는 것을 의미한다. 더이상 유전적 문제는 장애가 아니다. 이 시점에서 인류는 시험대에 오르게 될 것이다. 더이상 다운증후근, FFI 등 유전에 의한 문제는 물론이고, 그 치료법이 유전자를 조작해 얻을 수 있다고 예상되는 HIV 등도 치료가 가능할 것이다. 만약, 존엄..
[OpenAI] Superalignment
·
Artificial Intelligence/Post
OpenAI 사이트를 뒤져보던 중 흥미로운 주제가 있어서 정리하는겸, 포스팅을 작성 해 본다. 1. 서론 OpenAI 팀은 Weak-to-strong generalization 이라는 제목으로 짧은 글을 작성했다. 해당 글에선, '인간의 피드백(RLHF)' 을 통한 강화 학습과 같은 현재의 정렬 방법은 '인간의 감독' 에 의존한다는 문제점이 존재한다고 언급한다. 이러한 인간의 감독은 비용적, 시간적인 문제가 존재하며, 근래에는 오히려 AI 시스템이 인간을 상회하는 복잡하고 창의적인 행동을 수행해 낼 수 있다고 주장한다. (= AI 시스템이 AI를 감독할 수 있다) 예로 초인적(superhuman) 모델(그냥 매우 발전된 모델을 이렇게 표현한듯 싶다) 은 전문가들조차 이해하기 어려운 수백만줄의 참신한(비록..
[리뷰] GAN(Generative Adversarial Networks)
·
Artificial Intelligence/Article
이전 GAN 포스팅에서는 GAN을 구현하고 어떤식으로 동작하는지 직관적으로 살펴 보았다면, 이번 포스팅은 Ian Goodfellow 가 작성한 GAN 논문을 요약해 살펴보고자 한다. 1. 수식 $$\min_G \max_D V(D,G) = \mathbb{E}_{x\sim p(data)} [\log(D(X))] + \mathbb{E}_{z\sim p(z)}[\log(1- D(G(Z))]$$ 각 기호의 의미는 아래와 같다. ${\min\limits_G \max\limits_D}$ : 생성기 $G$는 손실함수를 최소화해야 하는 반면, 판별자 $D$는 손실함수를 최대화 해야 한다는 의미이다. $V(D,G)$ : 최종적으로 도출해야하는 목적함수이다. $\mathbb{E}_{x\sim p(data)} [\log(D(..
Notion 과 Obsidian 을 사용하며 느낀점.
·
Tools
Notion 과 Obsidian 은 둘 다 '노트' 용도로 사용되는 프로그램이다. 각각 특징이 존재하는데, 차이점을 한문장으로 표현하자면 Notion 은 IOS 이고, Obsidian 은 Android 이다. 또 다르게 이야기하자면 Notion 은 Naver Blog 이고, Obsidian 은 github.io 이다. 1. Obsidian 기본적으로 Obsidian 은 여러가지 잡다한 기능이 매우 많다. 본인이 실력만 있다면 얼마든지 커스터마이징 할 수 있으며, 로컬에서 동작되는것을 상정하고 만들어진 프로그램이기에 온전히 Local 컴퓨터의 성능을 100% 뽑아쓸 수 있다. 때문에 문서가 수천개가 넘어가더라도 거의 느려지지 않을것이며, Local 기반이기 때문에 인터넷이 되지 않는 상황에서도 사용이 가능..
점화식과 Master 방법론
·
Algorithm
점화식을 구하는 방법에는 총 3가지가 존재한다. 재귀 트리 (Recursion Tree) 치환법 (Substitution method) 마스터 방법 (The Master method) 이 중 치환법의 경우 제한적으로만 사용 가능하기에(추측을 통한 방법이다.) 일반적으로 재귀 트리, 마스터 방법을 주로 사용한다. 1. 점화식이란? 수열에서 이웃하는 두개의 항 사이에 성립하는 관계를 나타낸 관계식. 2. 마스터 방법이란? 시간 복잡도를 계산하는 $Big - O$(worst) 표기법을 보면 $$ O(1), O(n), O(n\,log\,n), O(n^{3}), etc... $$ 이러한 대표적인 Big-O 표기법으로 표현될 수 있는 대다수의 식들은 간편하게 구할 수 있지만(반복문이 중첩으로 몇개인가 등.) 그렇지..
Quick Sort Partitioning 의 Loop Invariant 증명
·
Algorithm
Loop Invariant 는 프로그램 구동시 알고리즘내의 반복문의 정확성을 증명하기 위해서 사용된다. 그 조건으로 초기조건, 유지조건, 종료조건이 존재한다. 각각 아래와 같은 의미를 갖는다 초기조건(Initialization) : Loop 가 첫 번째 반복을 시작하기 전에 루프 불변성이 참이여야 함. 유지조건(Maintenance) : 반복 시작전 불변성이 참이었다면, 다음 반복 시작 전에도 계속 참이여야 함. 종료조건(Termination) : 루프가 종료될 때 그 불변식이 알고리즘의 타당성을 보이는데 도움이 될 유용한 특성을 가져야 함. 추가로 Quick Sort 의 동작원리상 partitioning이 발생한다. 이는 Quick Sort 내에서 Pivot 을 선택하고 재정렬 하는 과정을 의미하며. ..