분류 전체보기 310

UniMath: A Foundational and Multimodal Mathematical Reasoner (EMNLP'23)

Contents Abstract 최근 NLP 기술이 많이 발전하고 있으나, Mathematical Modalities에 대한 정보를 제대로 이해하고, 풀이하는 Task에서는 우수한 성능을 발휘하지 못하고 있었다. 본 논문에서는 수학 문제를 잘 풀고, 잘 해석하는 모델인 UniMath를 제안하였으며, UniMath는 T5 모델을 통해 Text 정보를 추출하고, VAE를 통해 이미지 정보를 추출하여 수학 문제를 잘 풀 수 있는 모델이다. Introduction and Our Approach Mathematical Reasoning 에서는 Math Word Problem (MWP) 를 어떻게 해석할 것 인지가 중요하다. 풀어서 설명하면, 수학적 기호가 어떤 의미를 가지는 지 알고 있어야 해당 문제를 풀 수 있..

Cracking the Code of Negative Transfer: A Cooperative Game Theoretic Approach for Cross-Domain Sequential Recommendation (CIKM'23)

Contents 해당 논문은 CIKM'23 에서 주재걸 교수님과 SK Telecom 팀이 발표한 논문이다. 논문에서 알 수 있다시피, Negative Transfer를 줄이기 위한 연구이며, 이때 Cooperative Game Theoretic 접근법을 사용한다. Cross-Domain이기 때문에 유저는 중복되지만, 제품은 중복되지 않은 도메인에서 전이학습을 효과적으로 하기 위한 연구라고 볼 수 있다. Abstract 이 논문에서는 Cross-Domain Sequential Recommendation (CDSR)에 대해서 다루고 있으며, CDSR는 두 개 혹은 세 개 이상의 도메인에서 생성되는 정보를 활용하는 방법이라고 볼 수 있다. 그러나, 서로 다른 도메인 간의 Negative Transfer이 발생..

[Python] 패키지 버전 확인하기 with code

Contents 파이썬 내에서 패키지의 버전을 확인하는 방법은 다양하다. 간단하게 pip를 사용해서 확인할 수도 있으나, 코드를 통해 확인할 수도 있다. CLI 에서도 확인하는 것이 가능하고, Jupyter Notebook에서도 확인이 가능하다. 이번 글에서는 버전을 확인할 수 있는 다양한 방법에 대해서 알아볼 것이다. pip list pip list는 파이썬에 설치된 패키지의 버전을 확인할 수 있는 가장 기본적인 코드라고 볼 수 있다. 단점은 설치된 패키지가 한 번에 나오기 때문에 찾는 것이 어렵다는 것이다. # CLI pip list # Jupyter !pip list pip show 하나의 패키지에 대한 버전을 확인하고 싶은 경우에는 pip list 대신 pip show를 사용해서 효율적으로 찾는 ..

Python 2023.12.27

[프로그래머스] 정수 삼각형 - Python

7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 위 형태로 Triangle을 구성하면 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 가 된다. 먼저 문제를 풀기 전에 Index Error가 발생하지 않도록 각 행의 양 옆에 [0]을 P..

Python/Algorithm 2023.12.27

[프로그래머스] 큰 수 만들기 - Python

문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 2자리 이상, 1,000,000 자리 이하인 숫자입니다. k는 1이상, number의 자릿수 미만인 자연수입니다. 해당 문제는 탐욕법(Greedy) 방식으로 접근하는 문제다. d..

Python/Algorithm 2023.12.27

[부스트캠프 AI Tech NLP] 네이버 부스트 캠프 7주차 회고

Contents 프로젝트 주제 Sentence Textual Similarity (STS): 입력으로 주어진 두 문장이 의미적으로 얼마나 유사한지 판단하는 Task. STS에 사용되는 모델 톺아보기. RoBERTa, SimCSE, BERT, Sentence-BERT, Electra RoBERTa의 경우 token_type_ids를 입력으로 받지 않기 때문에 Model 입력에 token_type_ids를 사용하지 않아도 됨. Separate Token [SEP] 대신 , 등으로 문장을 구분하기 때문에 Sentence 1과 Setence 2를 Concatenation 단계에서 sentence 1 sentence 2 로 사용함. Pytorch Lightning이 아닌 Pytorch로 구현 Pytorch Lig..

[Wandb] Wandb 사용법 + Sweep with Pytorch

Contents Weight & Biases Wandb (Weight & Biases)는 MLOps 플랫폼이며, 딥러닝을 학습하기 위해 필요한 기능들을 제공한다. wandb.ai 에서 회원가입을 하게 되면 API 키를 발급받을 수 있다. 해당 API를 통해 wandb에 login하면 사용할 수 있다. pip install wandb wandb.login() Wandb init Wandb를 사용하기 위해서는 처음에 init을 설정해주어야 한다. 기본적으로 하이퍼 파라미터(Hyper-Paramters)들은 Yaml로 관리하는 것이 편하기 때문에 아래와 같이 사용했다. learning_rate: 1e-5 batch_size: 64 epochs: 10 import yaml def load_yaml(path): ..

Python 2023.12.21

[부스트캠프 AI Tech NLP] 네이버 부스트 캠프 6주차 회고

이번주차에는 STS (Sentence To Similarity) Task 를 다루었다. 그리고, N21, N2N, N2M 등 NLP Task의 다양한 유형에 대해서 다루어 보았다. 간단한 예제를 다루게 되고, 예제를 통해 실제 작동되는 방법을 다룰 수 있어서 좋았다. 피어 세션 피어 세션에는 Sentence BERT, SimeCSE, RoBERTa 등 NLP 관련 과거 논문 및 Self-supervised Learning에 대해서도 다루어서 NLP Task를 더 깊게 이해할 수 있게 되었다. STS Competition KoSTS 데이터를 바탕으로 실험을 진행하여, 리더보드에 성능을 비교하게 되었는데, 팀원분들이 다들 열심히 해주셔서 새로운 방법으로도 접근할 수 있게 되고 다른 시각을 배울 수 있게 되어..

[부스트캠프 AI Tech NLP] 네이버 부스트 캠프 5주차 회고

어느덧 부스트캠프 과정이 5주차에 달했다. 5주차에는 NLP 기초 이론, RNN, LSTM, GRU, Transformer 등의 모델 구현을 상세히 다루고, 예제를 통해 놓쳤던 부분을 디테일하게 다룰 수 있었다. 그리고 BERT를 직접 fine-tuning 하는 방법도 다루어서 좋았다. 피어세션 지금 구성된 팀에서는 피어세션 때 매번 새로운 논문을 리뷰하고 있다. 이번주에 내가 발표한 논문은 " Improve Transformer Models with Better Relative Position Embeddings" 라는 논문으로, Position Embedding을 학습해서 Position 정보에서 조금 더 Abundent한 정보를 추출할 수 없을까? 라는 아이디어로 시작되었다. 기존에도 Relativ..

반응형