전체 글 189

Image Segmentation이란? Image Matting과의 차이

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

AI/Computer Vision 2024.05.21

[파이썬] Python에서 XML 파일 다루는법 - XPath에 대해서 알아보자.

XML 파일을 그냥 읽으면 parsing되지않고, 모두 이어진 텍스트로 읽혀 가독성이 매우 좋지않다. 이를 가독성 좋게 읽기 위해서는 우선 python에서 지원하는 xml parsing 도구를 사용할 수 있다.보편적으로 아래와 같은 코드로 xml 파일을 읽어들이게 된다.import xml.etree.ElementTree as ETtree = ET.parse(xml_path)root = tree.getroot() 아래의 코드로 root에 저장된 내용을 각 계층에 맞게 출력해주면 가독성 좋은 텍스트로 출력할 수 있다.def print_xml_structure(elem, level=0): indent = '\t' * level print(f"{indent}") if elem.text: ..

Programming/python 2024.05.16

[멀티모달] 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

Anaconda없이 Python 가상환경 만들기

리눅스에서 진행했습니다. 공식 Document 12. Virtual Environments and PackagesIntroduction: Python applications will often use packages and modules that don’t come as part of the standard library. Applications will sometimes need a specific version of a library, because the ...docs.python.org  1. 가상환경을 지원하는 툴을 설치합니다. (이미 설치되어있다면 2번부터 진행해주세요.)sudo apt install python3.8-venv 2. 원하는 위치에 가상환경 폴더를 생..

Programming/python 2024.04.08

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

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

AI/Fundamental 2024.03.27

리눅스 터미널에서 동일한 폴더 내의 파일명 일괄 변경하기

** 다양한 파일명을 변경하는 경우들이 있겠지만 이번 글에서는 특정 단어를 추가하거나 특정 단어를 다른 단어로 변경하는 일괄 처리에 대해서 다루어보았습니다. 일반적으로 디렉토리에 있는 모든 파일을 다른 폴더로 옮기려고 할 때 mv 라는 명령어를 사용합니다. 파일을 옮길 때 mv 명령어를 이용하면 이동과 동시에 파일명도 변경해줄 수 있습니다. 일반적으로 아래와 같은 명령어로 수행할 수 있습니다. mv 만약 여러개의 파일을 mv해주고, 파일명을 변경해주고 싶다면 for 구문을 사용해주면 됩니다. 아래의 예시로 어떻게 하는지 알아보겠습니다. 모든 파일에 path는 옮기지 않고, 파일명 변경만 해준 경우입니다. 모든 파일에 new_를 붙여서 옮기는 명령어 입니다. for file in * do mv "$file..

Programming/linux 2024.03.23

리눅스 터미널(linux terminal)에서 텍스트 색상(text color) 바꾸는 법

Ubuntu 20.04 에서 terminal을 작업할 때는 텍스트에 색상이 부여되어있어 가독성이 높습니다. 하지만 터미널에서 ssh로 서버에 원격접속하였을 때, 무색의 스타일로 접속되어 가독성이 매우 떨어집니다. 이 무색무취의 터미널의 스타일 변경을 시도해보았습니다. 먼저, ssh 원격 접속된 터미널 내에서 보편적으로 /home/username/ 디렉토리에 .bashrc라는 파일이 있습니다. ( ls로는 .file은 보이지 않기 때문에 ls -a 라는 명령어를 통해서 확인할 수 있습니다. ) 우선 사진의 초록색, 파란색 부분의 프롬프트인 username@hostname : ~working_directory $ 부분을 색상 변경 해보겠습니다. vi .bashrc i PS1='\[\033[0;32m\]\u@..

Programming/linux 2024.03.21