DL 30

[DL] RNN - Recurrent Neural Networks 이론 정리

0. RNN (Recurrent Neural Network) RNN(Recurrent Neural Network)은 시간적으로 순차적인 데이터를 처리할 수 있도록 설계된 인공신경망으로, 과거 정보를 현재의 계산에 활용할 수 있는 순환 구조를 가진 모델입니다. 시간에 따라 동일한 가중치를 공유하는 것이 특징이라고 할 수도 있습니다. 이러한 특징은 시계열 데이터, 자연어 처리(NLP), 음성 인식, 주가 예측 등 순서와 맥락이 중요한 데이터 처리에서 강점을 보입니다. 1. First-order System과 RNN의 유사성First-order system은 시스템 동역학(dynamics)을 기술할 때 사용되는 수학적 모델로, 시스템의 현재 상태가 이전 상태와 현재 입력에 의해 결정되는 구조를 가집니다. 주로..

DL 2024.12.10

[Voice] 실시간 STT 연구를 위한 선행 지식과 학습 로드맵 (feat. Whisper)

0. 개요"실시간 STT" Real time STT 또는 Streaming STT 라고도 불립니다. "[Voice] 실시간 STT 연구를 위한 선행 지식과 학습 로드맵" 에서는 지금까지 실시간 STT를 구현하기 위해 필요한 여러 선행 연구와 개념들을 순차적으로 정리하고자 합니다.1. OpenAI/Whisper 실시간 STT에 적합하지 않다.현재 ASR 분야에서 가장 성능이 뛰어나다고 알려진 모델은 OpenAI의 "Whisper"입니다.Whisper는 CNN과 트랜스포머를 결합한 구조를 가지고 있습니다. 이러한 구조를 가진 Whisper를 일반적으로 적용 가능한 모델로 훈련하기 위해 OpenAI는 다양한 환경과 녹음 설정, 화자, 언어를 포함한 680,000 시간 이상의 레이블 데이터를 수집했습니다. 이를..

DL/Voice 2024.12.03

Molmo 논문 리뷰 - Molmo and PixMo: Open Weights and Open Data for State-of-the-Art Multimodal Models

0. 서론LLM은 텍스트 뿐만 아니라 이미지에 대한 설명을 생성하고, 복잡한 시각적 질문에 정확하게 답하는 것과 같은 인상적인 멀티 모달 기능을 제공하고 있습니다. 그러나, 이러한 시각 언어 모델(VLM) 중 가장 성능이 좋은 모델은 모델 Weight, data, source code가 공개되지 않은채 독점 상태로 남아 있습니다. 그러나, VLM을 처음부터 구축하는 것은 매우 어려운 일이기 때문에 저자는 LLM에 대한 학문적 탐구를 촉진하기 위해 성능이 뛰어난 공개 멀티모달 모델을 개발하고 배포하고자 하였습니다. 이에 독자적으로 개발된 비전 인코더와 언어 모델을 결합해 훈련된 오픈 모델 Molmo를 공개했습니다.  Molmo는 다른 VLM들이 사용한 합성 데이터나 폐쇄적인 데이터에 의존하지 않고, 이미지..

DL/LLM 2024.09.27

Allen Institute - Molmo 오픈소스 멀티모달

allenai/Molmohttps://huggingface.co/allenai/Molmo-7B-O-0924 allenai/Molmo-7B-O-0924 · Hugging FaceMolmo 7B-O Molmo is a family of open vision-language models developed by the Allen Institute for AI. Molmo models are trained on PixMo, a dataset of 1 million, highly-curated image-text pairs. It has state-of-the-art performance among multimodal models withuggingface.co 앨런인공지능연구소(AI2)가 9월 25일에 오픈소스 ..

DL/LLM 2024.09.27

[Voice] Audio Processing Libraries (feat. 8bit convert to 16 bit)

0. 8bit convert to 16 bit8k 8bit PCM 음성 신호를 8k 16bit PCM으로 변환하는 것은 음성의 질을 높이는데 도움이 됩니다.또한, 8-bit 음성은 2^8 = 256단계로 소리를 표현하는 반면, 16-bit 음성은 2^16 = 65,536단계로 소리를 표현할 수 있습니다. 이 차이는 음성 신호의 더 작은 차이까지도 표현할 수 있게 해 주며, 더 풍부한 정보를 담은 음성을 제공합니다.  이러한 이유로 8k 8bit 음성을 8k 16bit로 변환하여 자주 사용하고 있습니다. 1. 변환 왜곡 하지만 여기서 라이브러리를 사용해 음성을 16bit로 변환하면 음성에 왜곡이 발생합니다.  int8과 int16가 표현할 수 있는 범위는 아래와 같습니다. int8 (8-bit intege..

DL/Voice 2024.09.25

[Voice] pyVoIP - Python으로 작성된 VoIP 라이브러리

0. pyVoIPpyVoIP는 순수 Python으로 작성된 VoIP(Voice over IP)/SIP(Session Initiation Protocol)/RTP(Real-time Transport Protocol) 라이브러리입니다. 음성 서비스를 개발하려고 하는 파이썬 개발자가 파이썬을 활용해 간단한 서비스를 만드는데 유용합니다.1. 특징 및 기능주요 특징 - 순수 Python 구현 : 외부 종속성 없이 순수 Python으로 구현되어 있어 설치와 사용이 간편합니다[2][4]. - 지원 코덱 : PCMA, PCMU- 독립적인 오디오 처리 : 특정 오디오 라이브러리에 의존하지 않아, pyaudio나 wave 등 선형 사운드 데이터를 처리할 수 있는 다양한 라이브러리와 함께 사용할 수 있습니다. 주요 기능 -..

DL/Voice 2024.09.20

[Voice] 딥러닝 음성 처리 파이썬 실습 - 16K / 8K 비교, 음성 데이터 연산

딥러닝 음성 학습 16K VS 8KAICC를 위한 딥러닝 학습 오디오 데이터 샘플링 레이트로 16K / 8K 중 어떤 것을 사용하는 것이 좋을까요?AICC 음성 모델(VOIP)전화 통화의 주요 목표는 사람의 음성을 명확하게 전달하는 것입니다. 음성 주파수는 일반적으로 300Hz에서 3400Hz 사이에 위치하며, 이는 8kHz 샘플링 레이트로도 충분히 커버할 수 있습니다. 이유Nyquist 이론: 샘플링 레이트가 신호의 최대 주파수보다 최소 두 배 높아야 합니다. 전화 음성 주파수 범위(최대 약 3.4kHz * 2 = 6.8kHz)를 재현하려면 8kHz 샘플링 레이트로도 충분합니다.대역폭 효율성: 낮은 샘플링 레이트는 데이터 양을 줄여 전송 대역폭을 효율적으로 사용합니다. 실시간 서빙이 중요한 AICC에서..

DL/Voice 2024.06.12

[Voice] 디지털 신호(음성) 처리 개념 정리 (3) - 16 Bit, 44.1 kHz / PCM

디지털 판(Bit Depth x Sample Rate)아날로그 신호를 디지털 판에 흡사하게 담아내고자 하였고, 그 X, Y축을 이루는 값이 Bit Depth와 Sample Rate 입니다.Sample Rate는 1초동안 지나가는 신호의 샘플수를 이야기하는데, 1초 길이의 사운드를 얼마나 많은 샘플로 나눌 것인가를 의미합니다. Bit Depth는 Sample Rate로 결정된 각 샘플에 담긴 정보의 양을 의미하는데, 16비트는 2의 16제곱인 65,536개의 서로 다른 정보를 뜻합니다. 즉, 63,535개의 구간이 발생한다는 뜻입니다. 따라서, 16 Bit / 44.1kHz는 아날로그 신호를 1초동안 44,100 x 65,535개의 격자로 이루어진 디지털 판에 담고 있다는 말이 됩니다. WHY? 16Bit..

DL/Voice 2024.06.12

[Voice] 디지털 신호(음성) 처리 개념 정리 (2) - 나이퀴스트 이론 / 앨리어싱 현상

인간의 가청주파수 영역인간의 가청주파수 영역은 일반적으로 20Hz에서 20,000Hz (20kHz) 사이입니다. 나이가 들수록 고주파수에 대한 청력이 감소하는 경향이 있습니다. 어린 아이들은 20kHz까지 들을 수 있지만, 성인은 대개 16kHz 이상은 잘 들을 수 없습니다. 사람은 100~10,000Hz의 주파수 범위를 갖는 목소리를 낼 수 있으며, 회화가 가능한 범위는 200~6,000Hz 영역, 대화가 명료한 범위는 500~2,500Hz 영역이라고 할 수 있다. 그러므로 AICC에 전자기기와 대화가 이뤄지는 AICC의 음성은 8000Hz(8kHz)에서도 충분히 커버가 가능하다. 나이퀴스트 이론 (Nyquist-Shannon)Nyquist-Shannon 이론이란, 신호는 그 신호에 포함된 가장 높은 ..

DL/Voice 2024.06.12

[DL] 아인슈타인 합의 표기법(Einstein Summation Notation)

아인슈타인 합의 표기법(Einstein Summation Notation) 정의 아인슈타인 표기법 또는 아인슈타인의 합 규약은 수학의 선형대수학을 물리학에 응용하면서 좌표계에 관한 공식을 다룰 때 유용한 표기 규칙입니다. 이 방법의 핵심은 반복되는 인덱스를 사용하여 합을 나타내고, 이를 통해 더 복잡한 텐서 연산을 단순화하는 것입니다. 수식 특정 index의 집합에 대한 합(시그마)연산을 간결하게 표시하는 방법. Aik⋅Bkj를 수행하면 output dimension은 [I,J] 이 후 I에 대해 summation Einstein Notation(우변) 에서는 다음의 경우 sigma기호를 생략 반복적으로 합산되는데 이용되는 index(k)에 관련된 sigma 최종 결과 값 Cj에 명시되지 않은 index..

DL 2024.04.17