본문 바로가기
반응형

전체 글128

[업무자동화 with Python] OCR (Optical Character Recognition) 이번에는 OCR을 파이썬으로 수행하는 방법에 대해서 알아보겠습니다. 재현성을 위해 코드는 코랩에서 실행하였습니다. 1. 파이썬을 활용한 OCR- 이번 실습을 위해 사용할 라이브러리는 pytesseract입니다. - 다양하고 보다 심도 있는 사용법을 위해서는 아래 github를 참조하시면 되겠습니다.https://github.com/madmaze/pytesseract GitHub - madmaze/pytesseract: A Python wrapper for Google TesseractA Python wrapper for Google Tesseract. Contribute to madmaze/pytesseract development by creating an account on GitHub.github... 2024. 11. 6.
[딥러닝 with Python] 트랜스포머 (Transformer) 이번에는 트랜스포머(Transformer) 모델에 대해서 알아보겠습니다. 너무나 유명한 논문이죠 "Attnetion is All You Need"를 바탕으로 포스팅을 구성해보았습니다. 1. Transformer- 2017년 NeurIPS에 발표된 논문 "Attention is All You Nedd"에서 제안한 아키텍처의 이름인 Transformer입니다. - 해당 모델은 어텐션(정확히는 Multi Head Self Attention)을 활용해서 모델의 성능 및 학습/추론 속도를 향상 시킨 아키텍처입니다. 해당 논문은 자연어 처리(NLP)에서 나오게 되었지만, 이를 바탕으로 다양한 Sequential data의 처리 및 이미지 데이터에서도 트랜스포머를 기반으로한 모델들이 나오게 되었으며, 그 유명한 GP.. 2024. 11. 5.
[딥러닝 with Python] 어텐션 (Attention Mechanism) 이번에는 지난 시간에 알아본 Seq2Seq 모델의 단점 중 하나인 Encoder를 통해 Bottleneck을 활용해 압축된 정보를 Decoder를 통해 내보내는 것은 long sentences에서는 성능 약화의 요인이 되는 점을 극복하기 위해 활용하고 있는 Attention Mecahnism에 대해서 알아보겠습니다. [딥러닝 with Python] 순환 신경망(Recurrent Neural Network) 1. Attention Mechanism이란?- 앞서 언급했듯 Attention은 Seq2Seq에서 Long sentences에서 발생하는 정보 손실 문제로 인해 나오게 되었습니다.- Attention 이란, 기계어 번역에서 큰 성능 향상을 가져온 방법으로, 이는 모델이 Output을 만들때 Input.. 2024. 11. 4.
[딥러닝 with Python] 순환 신경망(Recurrent Neural Network) 이번에는 순환 신경망(Recurrent Neural Network)에 대해서 알아보겠습니다. 1. 순환 신경망이란?(Recurrent Neural Network)- 순환 신경망은 순서가 있는 데이터를 다루는 아키텍처입니다. * 예를 들어 음악, 소리, 행동에 관련된 순서를 바탕으로 정리된 데이터나 비디오와 같이 시각적인 정보가 순서가 있게 구성된 데이터 등을 다룰때 활용됩니다. - 순환 신경망은 시간적 순서 정보인 Temporal Information 뿐만 아니라, 텍스트, 악보와 같이 공간적인 순서 정보인 Spatial Information도 다루는 신경망 구조 입니다. - 이 구조를 간단히 시각화 및 수식으로 표현해보면 아래와 같습니다. 즉, 기존 상태와 인풋으로 입력된 순서상 다음 상태인 현재 상태.. 2024. 11. 3.
[딥러닝 with Python] 합성곱 신경망(Convolutional Neural Network) 1. CNN(Covolutional Neural Networks / 합성곱 신경망) - CNN이란, 이미지나 시계열 데이터를 처리하는 데 뛰어난 성능을 보여주는 딥러닝 구조 중 하나로 * 입력 데이터에 커널을 적용하여 중요한 특징(특히 데이터의 국소적인 패턴을 포착)을 추출하는 합성곱 층(Convolutional Layer)과  * Convolution Filter를 통해 추출된 특성맵을 다운 샘플링하여 계산량을 줄이고, 위치 변화에 강건하게 만드는 Pooling 층 (주로 Max pooling이 활용) * 마지막 부분에 위치하여 합성곱 및 풀링 과정을 통해 추출된 특징을 바탕을 최종 출력을 생성하는 완전 연결층 (Fully Connnected Layer)로 구성되어 있습니다. - 이러한 CNN이 도입된.. 2024. 11. 2.
[딥러닝 with Python] 인공신경망(Artificial Neural Network / ANN), 데이터 증강(Data Augmentation) 1. 인공신경망(Artificial Neural Network / ANN)1) 인공 신겨망의 개념 - 인공신경망이란, 의미있는 표현(Respresentation)들을 도출할 수 있는 여러 층들을 활용해 주어진 데이터로부터 Representation을 배우는 네트워크로, 사람의 뇌의 구조에 영감을 받아서 만들어진 네트워크입니다. - 깊은 층(Deep layers)들을 활용해 복잡한 표현들을 학습해낼 수 있으며 - 특히, ReLU와 같은 비선형함수들을 활용해 비선형적인 표현들까지도 학습할 수 있는 구조입니다.   2) ANN의 구성 -  어떻게 연결할 것인가? * Dense layer(일반적인 MLP) / Convolutional (Convolutional kernel 등), Recurrent(RNN 및 해.. 2024. 11. 1.
[개념 정리] Linear probing이란? 이번에는 인공지능 논문을 볼때 주로 나오는 용어 중 하나인 Linear Probing입니다. 1. Linear probing이란?- Linear Probing은 사전 학습된 모델(Pretrained Model)의 Representation을 분석하거나, 특정 작업에 대한 학습된 특성의 일반화 성능을 평가하는데 사용되는 기법을 말합니다. - 즉, 사전 학습된 모델의 중간 레이어에서 나온 특징을 고정(Frozen)하고, 새로운 선형 분류기를 학습해 해당 특징의 유용성을 평가하는 방식을 말합니다. - Linear Probing은 다음과 같이 이루어집니다.1) Featrue extraction :  사전 학습된 모델(BERT, ResNet 등)의 중간 레이어에서 특징 벡터(Representation)을 추출합니.. 2024. 10. 31.
[개념정리] ELBO란? Evidence Lower Bound란? 이번에 알아볼 것은 Variational Auto Encoder에서 중요한 역할을 하는 개념 중 하나인 ELBO에 대해서 알아보겠습니다. 1. ELBO란? Evidence Lower Bound란?- ELBO는 학습 데이터의  log likelihood를 최대화하기 위해 사용되는 최적화 목적함수 중 하나입니다. - ELBO는 입력 데이터 x에 대한 잠재 변수 z가 있는 모델에서 log likelihood 인 logp(x)를 직접 계산하기 어려운 경우, 이를 대신해서 최적화하는 하한(Lower Bound)를 제공해줍니다. - ELBO의 유도(Derivation)에 대해 알아본다면, 다음과 같이 데이터 x의 loglikelihood인 logp(x)를 approximate하는 상황을 가정해보겠습니다. - 이 적.. 2024. 10. 30.
반응형