본문 바로가기

Dev34

Expo 프로젝트에서 프론트엔드 코드 수정 후 웹 빌드 반영하는 방법 Expo를 사용해 프론트엔드를 개발하고, Render에 백엔드를 배포한 후 웹 빌드를 함께 배포하는 구조를 사용하고 있다.하지만 프론트엔드 코드를 수정한 후에도 변경 사항이 반영되지 않는 문제가 발생하였는데, 코드를 고쳐도 업데이트가 되지 않고 계속해서 이전 버전의 오류가 발생하여 며칠간 골머리를 앓았다.이 문제를 해결하기 위해 여러 방법을 시도한 후 웹 빌드를 다시 생성하고 백엔드 서버에 반영하는 방법을 정리해보았다.🔎 원인 분석Expo를 사용하면 웹 빌드를 dist 혹은 web-build 폴더에 생성하게 된다.하지만 프론트엔드에서 코드를 수정해도 백엔드의 기존 web-build 폴더를 덮어쓰지 않으면 변경 사항이 반영되지 않는다.즉, 웹 빌드를 새로 생성한 후 백엔드의 web-build 폴더를 교체.. 2025. 2. 10.
LibriSpeech 기반 ResNet, DenseNet, 그리고 앙상블 모델 개발기 서론: 음성 데이터를 활용한 딥러닝 프로젝트 이 프로젝트는 지난 2021년에 진행한 프로젝트이다. 당시 대학원 졸업 논문 주제를 고민하다가 LibriSpeech 데이터셋을 사용하여 음성 데이터를 기반으로 하는 ResNet, DenseNet 모델을 학습시키고, 이를 앙상블하여 성능을 향상하는 프로젝트를 진행하기로 결정했다.이번 포스팅에서는 (매우 늦은 감이 있지만) 당시 프로젝트를 진행하며 겪은 다양한 오류와 해결 과정을 정리하고자 한다. 딥러닝 기반 음성 인식 모델을 구현하는 과정에서 발생하는 문제들을 어떻게 해결했는지 공유하기 위함이다.1. LibriSpeech 데이터셋과 전처리 과정1.1 LibriSpeech 데이터셋LibriSpeech는 읽기 음성 데이터를 포함한 대규모 ASR(Auto Speech.. 2025. 1. 30.
[React Native] Invariant Violation: "main" has not been registered. React Native 프로젝트에서 파일 호출 순서는 package.json의 main 필드와 index.js 파일의 설정에 따라 달라진다.일반적으로 Expo 또는 React Native 앱의 실행 흐름은 다음과 같다.1. package.json 확인package.json 파일의 "main" 필드가 앱의 진입점(entry point)을 결정하며, 기본적으로 다음과 같이 설정되어 있어야 한다."main": "index.js" 즉, index.js 파일이 먼저 호출된다.2. index.js 파일의 역할index.js 파일은 프로젝트의 진입점(entry point)으로, AppRegistry를 사용해 앱의 루트 컴포넌트를 등록한다.index.js 예시:import { AppRegistry } from 'rea.. 2025. 1. 28.
Deep residual learning for image recognition 논문 출처 : K. He, X. Zhang, S. Ren, J. Sun, Deep residual learning for image recognition, Proceedings of the IEEE conference on computer vision and pattern recognition (2016), pp. 770-778 딥러닝의 성능을 좌우하는 요소는 여러가지가 있다. 특히 통제 가능한 변수들을 하이퍼파라미터라고 하는데, 하이퍼파라미터의 최적값을 찾아가는 것이 딥러닝의 본질이기도 하다. 그러나 이러한 하이퍼파라미터를 조정하는 것 외에도, 신경망의 깊이 또한 딥러닝의 성능과 연관이 있다. 다만 한 가지 중요한 지점은 단순히 신경망의 깊이가 깊어진다고 해서 성능이 개선되지는 않는다는 것이다. 출처 .. 2023. 5. 3.
Mini-batch sample selection strategies for deep learning based speech recognitio 논문 출처 : Y Dokuz, Z Tufekci - Applied Acoustics, 2021 - Elsevier1. 요약 RNN 은 순환 신경망이라고 부르며, 자연어 처리나 음성 인식처럼 순서가 있는 데이터를 처리하는데 강점이 있는 신경망이다. 앞 단계에 입력된 값에 대해 처리한 결과를 다음 단계에서 참조해 나가는 형태로 처리하며 이를 통해 입력된 순서에 따라 단계별로 출력을 발생시킨다. 그러나 이 단계가 길어지는 경우 맨 앞의 정보에 대해 맨 뒤에서 기억하지 못하는 한계가 발생하게 되는데 이러한 한계를 보완한 것이 LSTM 이다. 또한 음성 데이터를 입력 받았을 때 어디서부터 어디까지가 하나의 음소인지 각각 라벨링 처리를 진행해주지 않으면 인식률이 떨어지게 되기 때문에 라벨링을 진행해 줘야 하나 MF.. 2023. 5. 2.
딥러닝 기반 음성인식 논문출처 : 김지환 (2019), 딥러닝 기반 음성인식, 정보과학회지 37(2), 2019.2, 9-15 1. 요약 본 논문에서는 음성인식에 필요한 특징 파라미터 추출 방법 및 딥러닝을 이용한 음향모델 구현 방법에 대해서 기술하며, 알파고와의 비교분석을 통해서 음성인식 기술의 현 위치를 분석한다. 음성신호 저장 시 결정해야 하는 파라미터는 sampling rate 와 sample 당 바이트 수이다. sampling rate 는 단일 시간(1초) 당 sampling 횟수로써, 음성신호의 음질을 결정한다. Nyquist 이론에 따르면, 모든 신호는 그 신호에 포함된 가장 높은 진동수의 2배에 해당하는 빈도로 일정한 간격으로 샘플링 하면 원래의 신호를 완벽하게 기록할 수 있다. 사람의 가청 주파수 대역은 일번.. 2023. 5. 1.