AI 32

Image Segmentation이란? Image Matting과의 차이

이미지 분할 모델은 이미지 분류(Image Classification) 모델과 달리 이미지에 대해 하나의 정답레이블을 가지는 것이 아니라 이미지의 구체적인 정보를 알고자하는 모델이다. 정확히 객체가 어떤 모양인지 또는 특정 픽셀이 어느 객체에 포함되어있는지를 알고자 하기때문에 Image Segmentation 모델의 데이터셋을 보면 이미지 픽셀마다 label이 할당된 것을 볼 수 있다.  따라서, Image Segmentation은 이미지에서 중요한 객체의 정확한 형태를 파악하고, 그 위치를 경계로 객체를 분할하기 위한 기술이다. 이미지 분할 기술은 위성영상, 자율주행을 위한 도로영상, 의학 촬영영상 등에서 많이 사용되고 있으며, 더 나아가 최근에는 탐지된 객체를 삭제하고 빈 공간을 생성형 이미지로 채우..

AI/Computer Vision 2024.05.21

[멀티모달] OpenAI의 GPT-4o (omni)는 GPT-4에서 얼마나 향상되었는가?

GPT-4oGPT-4o (“o” for “omni”) Document : Hello GPT-4o | OpenAI OpenAI에서는 2024.05.13에 텍스트, 오디오, 이미지(영상)을 동시에 입력하였을 때, 출력도 텍스트, 오디오, 이미지를 생성해내는 AGI(Artificial General Intelligent)인 gpt-4o 모델을 발표했다. 모델의 성능은 GPT-4 Turbo 모델과 같은 성능에 non-english에 대한 정확도도 향상되었다. 이번 gpt-4o 모델은 특히, 이미지를 인식하는 비전영역과 음성을 인식하는 오디오영역에서 더 향상된 성능을 보인다. 그와 동시에 더 빠르고, 50% 낮아진 가격으로 API를 사용할 수 있게 되었다. 실제 ChatGPT에서 gpt-4o 모델로 프롬프트를 입..

AI/Fundamental 2024.05.14

프롬프트 엔지니어링이란? Prompt Engineering, in-context learning (Zero, One, Few-shot)

prompt란?prompt : 컴퓨터가 사용자의 입력을 받을 준비가 되어있고, promptable : 입력을 받을 수 있는 것 또는 상태 prompt engineering이란?프롬프트 엔지니어링은 대규모 언어 모델(LLM)으로부터 원하는 답변에 대해 높은 품질의 결과를 추출하기 위해서 프롬프트의 입력 텍스트를 적절히 조합하는 것을 말합니다.  llm의 답변에 대한 지침을 부여하는 것으로 대표적인 llm을 제공하는 OpenAI의 ChatGPT의 예시를 보겠습니다. 아래와 같이 프롬프트 엔지니어링을 위한 6가지 전략을 제시하였습니다.Write clear instructions : 명확한 지시서를 작성해라. (ex. 전문가 수준의 긴 답변) Provide reference text (ex. fake infor..

AI/Fundamental 2024.05.07

[NLP] 자연어처리 딥러닝 모델 변천과정 (RNN, LSTM, Seq2Seq, Attention, Transformer)

1. RNN (1986) RNN은 시퀀스 데이터를 학습시키기 위해 제안된 신경망 모델로 RNN 기법이 처음으로 제안된 논문은 아래와 같다. 이 논문을 기틀로 RNN 연산을 거치는 신경망모델에 대한 수많은 연구가 수행되었다. Learning representations by back-propagationing errors (pdf 보기) 2. LSTM (1997) LSTM은 RNN의 은닉층에서 계산되는 연산을 변형시켜 장기적 기억을 더 잘하도록 고안된 신경망 모델이다. 처음으로 LSTM 매커니즘이 제안된 논문은 아래와 같다. Long Short-Term Memory 최종적으로 자리잡은 RNN과 LSTM에 대한 개념은 아래의 논문에서 확인할 수 있다. Fundamentals of Recurrent Neura..

AI/Fundamental 2024.04.16

Tensorflow 기초 : 모듈, 레이어, 모델 클래스 구조 알아보기

Tensorflow는 가장 흔하게 사용되는 딥러닝 프레임워크로 그 구조를 알아보고, 어떻게 활용할 수 있는지 공식 document를 보고 내용을 정리해보았습니다. 흔히 신경망모델에서의 레이어는 수학적인 구조로 이루어진 함수입니다. 딥러닝에서는 이 레이어에서 weights, bias와 같은 가중치(trainable variables)를 가지고있고, 이들이 적합한 값으로 학습되도록 하는 과정을 거칩니다. Tensorflow에서는 이러한 레이어를 함수로 재사용하고, 가중치를 저장했다가 로드할 수 있는 기능들을 제공합니다. 이를 지원하는 Tensorflow의 클래스는 tf.Module입니다. 간단한 사용 예시를 보겠습니다. tf.Module을 상속받는 클래스는 아래의 두 함수로 정의할 수 있습니다. __init..

AI/Fundamental 2024.03.27

시계열 데이터 분석하기 : 데이터의 정상성

시계열 데이터를 분석하는 목적은 아래와 같습니다. 시간에 따른 데이터의 패턴을 파악하기 위함. (ex. 계절성, 추세와 같은 변동성 + 자기상관성 등) 분석된 패턴에 기반한 예측 모형을 통해 Forcasting(시계열 예측)하기 위함. 시계열 분석은 쉽게 말하면 과거의 값의 패턴을 분석해서 미래의 값을 추정하기 위한 것입니다. 이를 위해 가장 기본적인 것은 시계열 데이터가 정상성을 유지해야한다는 것입니다. Why? 왜 정상성을 유지해야하는가?? 왜 잡음만 있는 상태에서 시계열을 예측해야하는가? 먼저 이론적으로는 정상성을 띈다는 말은 시계열 데이터가 시점과 상관없이 일정한 평균과 분산을 가진다는 의미이다. 어떤 시점에 데이터를 측정해도 일정한 변동폭(정규분포를 따르는 잡음)을 가진다는 의미입니다. 이를 ..

AI/Time Series 2024.03.05

시계열 데이터 EDA(Exploratory Data Analysis) 하기 (2)

이전 글에서는 보편적인 EDA 과정에 대해서 간략하게 소개하였습니다. 이번 글에서는 좀 더 구체적으로 시계열 분석 및 예측을 하기 위해서 EDA 과정 중에 어떤 데이터 처리가 필요한지 알아보겠습니다. 결측치 처리 (대치법: imputation) 이전 글에서는 결측치 데이터를 제거하는 방법에 대해서만 다루었습니다. 결측치 제거 이외에도 다양한 방법으로 결측치를 처리할 수 있는 대치법에 대해 설명하겠습니다. 선형 보간법(interpolation) : 앞뒤의 데이터 값에 대해 선형식을 세워 중간의 누락데이터를 채워넣는 방법 그 외의 보간법 : 전체 데이터에 대한 min(최소), max(최대), mean(평균), mode(중앙값) 등을 채워넣는 방법 forward fill(포워드 필) : 누락 직전의 값을 그대..

AI/Time Series 2024.02.22

시계열 데이터 EDA(Exploratory Data Analysis) 하기 (1)

EDA는 데이터를 잘 이해하기 위해서 꼭 필요한 과정으로, 일반적으로 시계열 예측 모델을 생성하기 전에 인사이트를 얻기위해 주로 수행하게 된다. 이번 글에서는 EDA의 전반적인 절차와 구체적인 방법들에 대해 자세히 다루어보려 한다. 보편적인 EDA 과정은 세가지 분류로 나누어볼 수 있다. Data Description (ex. 변수 설명, 통계량 요약 등) Cleaning (ex. 전처리, 결측치 처리 등) Visualization (ex. 그래프 시각화) * 해당 글은 캐글의 Time Series Prediction Tutorial with EDA 를 참고하여 작성되었습니다. 코드와 데이터에 구체적인 사항은 원문을 읽어보시길 바랍니다. 보통 시계열 데이터들은 csv (excel) 파일로 저장된다. 따라..

AI/Time Series 2024.02.20

시계열 데이터 기초 용어, 이론, 특징 알아보기

시계열 데이터는 하나의 변수에 대해 일정한 시간 간격으로 기록된 데이터이다. 다양한 예시로 날씨 온도, 주가의 시간에 따른 변화, 인구성장률 등이 있다. 추가 예시들과 시계열에 대한 자료는 패스트캠퍼스 깃허브에서 살펴볼 수 있다. 현실에서 시계열 데이터에서는 하나의 변수이외에 여러 변수들이 값에 영향을 미칠 수 있다.횡단면 데이터(cross-sectional data) : 한 시점에서 여러 변수에 대해 모아둔 데이터종단면 데이터(longitudinal data) : 한 변수에 대해서 여러 시점에 대해 시계열로 모아둔 데이터패널 데이터(Panel data) : 횡단면 데이터 + 종단면 데이터를 모아둔 전체 데이터 시계열 데이터를 분석할 땐, 횡단면 데이터끼리 i.i.d(independent and iden..

AI/Time Series 2024.02.18

Transformer 모델 - Positional Encoding 포지셔널 인코딩에 대해서 알아보자.

Transformer 모델에서 사용되는 positional encoding은 시퀀스 내 단어의 상대적인 위치 정보를 주입하는 데 사용됩니다. 이것은 모델이 단어의 순서를 이해하고 효과적으로 처리할 수 있도록 돕습니다. Transformer에서 주로 사용되는 positional encoding 방법 중 하나는 다음과 같은 싸인과 코사인 함수를 사용한 것입니다. PE는 positional encoding matrix의 요소입니다. pos는 시퀀스에서 단어의 위치를 나타냅니다. i는 encoding 차원(d_model) 내의 인덱스를 나타냅니다. d_model은 모델의 임베딩 차원입니다. positional encoding에서 사용되는 sin과 cos 함수 안에 대입되는 공식은 주기적인 패턴을 생성하기 위해 ..

AI/Fundamental 2023.12.28