전체 글 175

[FastAPI] HTTPException과 Exception 예외처리의 목적과 사용방법

FastAPI에서 주로 발생시키는 에러는 HTTPException, Exception이 있다. 프로젝트를 진행함에 따라서 예외 핸들링을 하게 되는데, 이 두 가지 간에 혼용하여 사용할 경우가 있어 이를 바르게 사용하고자 정리해보겠다. 1. HTTPExceptionHTTPException은 FastAPI에서 HTTP 요청 처리 중에 발생할 수 있는 특정 예외를 처리하기 위해 사용됩니다. 특히나, 주로 클라이언트에게 HTTP 상태 코드와 함께 명확한 오류 메시지를 반환하고자 할 때 사용된다. 주로, 잘못된 요청, 인증 실패, 리소스 없음 등과 같은 HTTP 관련 오류를 명시적으로 나타내기 위해 사용된다. ✔️ HTTPException의 특징HTTP 상태 코드status_code를 인자로 받아 반환할 HTTP..

Backend/FastAPI 2024.06.07

Junction Asia 2023

오랜만에 정리하는 내 이야기~~여름방학부터 정말 내 머릿속이 뒤죽박죽해졌던 것 같다. 진로에 관해서도 정말 많이 고민해본 것 같고..2학년 1학기를 보내면서 인공지능 분야도 물론 관심이 있었고 스터디를 이어나갔지만, 웹에 더 많은 관심이 간다는 것을 알게 되었다. 그리고 여름방학동안 React와 Spring 공부를 이어나갔다.사실 프로젝트를 진행하게 된 React를 아무래도 스프링보다 더 열심히 할 수 밖에 없었다. 심지어 괜찮은 동기들이 정션 아시아에 지원해볼 생각 없느냐고, 디자이너 명목으로 가겠지만 프론트도 하게 될거라하여 아직 해커톤에 나가보지 않았기에 궁금해서 지원해보게 되었다.물론 준비랄거까진 아니지만...프론트 공부를 어쩌다보니 더 많이 하게 되었다. 여름방학동안 동아리 홈페이지 개발 프로젝..

Frontend 2024.06.05

[만들면서 배우는 생성 AI]생성 모델링

생성 모델링1.1 생성 모델링이란?주어진 데이터셋과 유사한 새로운 데이터를 생송하도록 모델을 훈련하는 머신러닝의 한 분야다.생성 모델을 만들려면 생성하는 개체의 샘플이 많은 데이터셋이 필요하다. 이를 훈련데이터라고 하며 데이터 포인트 하나를 샘플이라고 부른다.각 샘플은 많은 **feature(특성)**으로 이루어진다.이미지 생성 문제에서 피처는 일반적으로 개별 픽셀값이다.텍스트 생성 문제에서 피처는 일반적으로 개별 단어 또는 문자의 그룹이다.목표는 일련의 새로운 피처를 생성하는 모델을 만드는 것이다. 이 모델은 우너본 데이터와 동일한 규칙으로 생성된 것처럼 보이는 피처를 만든다.생성 모델은 결정적이 아니고 확률적이어야 한다. 매번 동일한 값을 출력하는 것이 아니라 다양한 출력 결과를 샘플링할 수 있어야 ..

ML 2024.06.05

과적합(Overfitting)을 막는 방법들

학습 데이터에 모델이 과적합되는 현상은 모델의 성능을 떨어뜨리는 주요 이슈이다. 훈련 데이터에 대한 정확도는 높을 지라도 검증 데이터나 테스트 데이터에 대해서는 제대로 동작하지 않는다. 불필요할 정도로 과하게 암기하여 훈련 데이터에 포함된 노이즈까지 학습된 상태이다.1. 데이터의 양을 늘리기모델은 데이터의 양이 적을 경우, 해당 데이터의 특정 패턴이나 노이즈까지 쉽게 암기하기 되므로 과적합 현상이 발생할 확률이 늘어난다. ➡️ 데이터의 양을 늘려서 데이터의 일반적인 패턴을 학습하여 과적합을 방지하자만약, 데이터의 양이 적을 경우에는 의도적으로 기존의 데이터를 조금씩 변형하고 추가하여 데이터의 양을 늘리기도 하는데 이를 데이터 증식 또는 증강이라고 한다. 이미지의 경우에는 데이터 증식이 많이 사용되는디 이..

ML 2024.06.05

역전파(BackPropagation) 이해하기

인공 신경망이 순전파 과정을 진행하며 예측값과 실제값의 오차를 계산하였을 때 어떻게 역전파 과정에서 경사 하강법을 사용하여 가중치를 업데이트할까?1. 인공 신경망의 이해(Neural Network Overview)아래의 그림의 인공 신경망은 입력층, 은닉층, 출력층 이렇게 3개의 층을 가진다. 또한 해당 인공 신경망은 두 개의 입력과, 두 개의 은닉층 뉴런, 두 개의 출력층 뉴런을 사용한다. 은닉층과 출력층의 모든 뉴런은 활성화 함수로 시그모이드 함수를 사용한다.위의 그림은 여기서 사용할 인공 신경망의 모습을 보여준다. 은닉층과 출력층 모든 뉴런에서 변수 z가 존재하는데 여기서 변수 z는 이전 층의 모든 입력이 각각의 가중치와 곱해진 값들이 모두 더해진 가중합을 의미한다. z 우측의 |를 지나서 존재하는..

ML 2024.06.05

딥 러닝의 학습 방법

1. 손실함수(Loss function)손실 함수는 실제값과 예측값의 차이를 수치화해주는 함수다. 오차가 클 수록 손실함수의 값은 크고 오차가 작을 수록 손실함수의 값은 작아진다.회귀에서는 평균 제곱 오차, 분류에서는 크로스 엔트로피를 주로 손실함수로 사용한다.손실 함수의 값을 최소화하는 두 개의 매개변수인 가중치와 편향을 찾는 것이 딥러닝의 학습 과정이므로 손실함수 선정은 매우 중요하다.손실 함수를 정리해보도록 하자.1) MSE(Mean Squared Error, MSE)평균 제곱 오차는 선형회귀를 학습할 때 배웠던 손실 함수이다. 연속형 변수를 예측할 때 사용된다.아래와 같이 compiled의 loss에 문자열 'mse'라고 기재하여 사용할 수 있다.compile의 loss는 tf.keras.loss..

ML 2024.06.05

행렬곱으로 이해하는 신경망

순전파 : 인공 신경망에서 입력층에서 출력층 방향으로 연산을 수행하는 과정주어진 입력이 입력층으로 들어가서 은닉층을 지나 출력층에서 예측값을 얻는 과정 ➡️ 결정적으로 행렬의 곱셈으로 이해할 수 있다. 다층 퍼셉트론 내의 가중치와 편향의 개수를 추정하는 방법에 대해서 학습힌다.1. 순전파(Forward Propagation)활성화 함수, 은닉층의 수, 각 은닉층의 뉴런 수 등 딥 러닝 모델을 설계하고나면 입력값은 입력층, 은닉층을 지나면서 각 층에서의 가중치와 함께 연산되며 출력층으로 향한다. 출력층에서 모든 연산을 마친 예측값이 나온다.순전파 : 입력층 ➡️ 출력층2. 행렬곱으로 순전파 이해하기위와 같은 인공신경망이 있다고 할 때, 입력의 차원은 3, 출력의 차원이 2인 위 인공신경망을 구현한다면 아래..

ML 2024.06.05

인공 신경망(Artifical Neural Network) 훑어보기

1. 피드 포워드 신경망(Feed-Forward Neural Network, FFNN)오직 입력층에서 출력층 방향으로 연산이 전개되는 신경망FFNN가 아닌 RNN이라는 신경망이다. 은닉층의 출력값을 출력층으로도 값을 보내지만, 동시에 은닉층의 출력값이 다시 은닉층의 입력으로 사용되기도 한다.2. 전결합층(Fulyy-connected layer, FC, Dence layer)다층 퍼셉트론은 은닉층과 출력층에 있는 모든 뉴런은 바로 이전 층의 모든 뉴런과 연결되어 있다.전결합층 (완전결합층, FC): 이전 층의 모든 뉴런과 연결되어 있는 층밀집층이라고 부르기도 한다.3. 활성화 함수(Activation Function)은닉층과 출력층의 누련에서 출력값을 결정하는 함수계단 함수(0 or 1)는 활성화 함수의 ..

ML 2024.06.05

[핸즈온 머신러닝] 머신 러닝(Machine Learning)

🤔 머신러닝영상 처리, 번역기, 음성 인식, 스팸 메일 탐지 등 굉장히 많은 분야에서 응용되는 중이다. 특히 머신 러닝의 한 갈래인 딥 러닝은 자연어 처리 엔지니어에게 필수 역량이다. 머신러닝의 방식위쪽은 기존의 프로그래밍 접근 방식아래쪽은 머신 러닝의 접근 방식머신 러닝은 데이터가 주어지면, 기계가 스스로 데이터로부터 훈련성을 찾는 것에 집중한다. 주어진 데이터로부터 규칙성을 찾는 과정을 훈련(training) 또는 학습(learning)이라고 한다. 훑어보기머신 러닝을 위한 데이터: 훈련용 검증용 테스트용훈련: 머신 러닝 모델 학습테스트: 머신 러닝 모델의 성능 평가검증: 과적합이 되고 있는지 판단하거나 하이퍼파라미터의 조정을 위한 용도하이퍼파라미터(초매개변수): 모델의 성능에 영향을 주는 사람이 ..

ML 2024.06.05

[핸즈온 머신러닝] 선형 회귀(Linear Regression)

1. 선형 회귀(Linear Regression)어떤 요인으 수치에 따라서 특정 요인의 수치가 영향을 받 있다.어떤 변수의 값에 따라서 특정 변수의 값이 영향을 받고 있다.x에 의해서 종속적으로 y의 값이 변한다선형 회귀는 1개 이상의 독립 변수 x와 y의 선형 관계를 모델링 한다. 이때 독립변수 x가 1개이면 단순 선형 회귀라고 한다.1) 단순 선형 회귀 분석(Simple Linear Regression Analysis)곱해지는 값 w를 머신 러닝에서는 가중치(weight), 별도로 더해지는 값 b를 편향(bias)라고 한다.직선의 방정식에서는 각각 직선의 기울기와 절편을 의미한다.2) 다중 선형 회귀 분석(Multiple Linear Regression Analysis)x가 여러개일 때 사용2. 가..

ML 2024.06.05