[백준] 🥈10816번 숫자 카드2
·
알고리즘
10816번 문제숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 입력첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,000,000보다 작거나 같다.셋째 줄에는 M(1 ≤ M ≤ 500,000)이 주어진다. 넷째 줄에는 상근이가 몇 개 가지고 있는 숫자 카드인지 구해야 할 M개의 정수가 주어지며, 이 수는 공백으로 구분되어져 있다. 이 수도 -10,000,000보다 크거나 같고, ..
[백준] 🏅1107번 리모콘(파이썬 Python)
·
알고리즘
1107번 문제 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오. 수빈이가 지금 보고 있는 채널은 100번이다. 입력 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난..
[RecSys] KGAT : Knowledge Graph Attention Network forRecommendation 논문 리뷰, 수식 설명
·
논문 리뷰
👩🏻‍💻 본 포스팅은 개인적 공부를 위해 논문 KGAT를 정리한 포스팅으로, 오류가 있을 수 있습니다. 이전에 포스팅했던 LightGCN은 GCN의 연장선으로, 사용자와 아이템 간의 연관성을 고려하는 가벼운 모델이었다. 그러나 우리 프로젝트가 가지고 있는 데이터와 목표로 하는 모델링은 유저와 유저 간의 연관성도 고려해야 했기에, 따라서 협업 필터링 + knowledge graph까지 합쳐진 하이브리드 모델을 알아봐야 하는 상황이었다. Background - CF(Collaborative Filtering) : 동일한 아이템에 관심 있는 비슷한 사용자에 집중한다. - SL(Supervised Learning) : 아이템 - 속성의 연관성에 집중한다. - KG(Knowledge Graph) : entity-..
[RecSys] Latent Factor 알아보기
·
AI
우리가 일상에서 쉽게 사용하는 콘텐츠 제공 서비스에서는 흔하게 아이템을 추천해주는 기능을 확인할 수 있다. 기존 추천시스템들은 메모리 기반 추천시스템으로, 메모리에 사용자-아이템 정보를 쌓아두는 방식으로 연관성을 파악했다. 다만 이러한 방식은 사용자가 많아지면서 쌓아지고, 듬성듬성한 sparse data로 나타난다는 단점이 있었다. 이러한 단점을 극복하기 위해서 나타난 방식이 모델 기반 추천시스템이고, 자주 등장하는 용어인 Latent Factor에 대해 알아보겠다. 모델 기반 추천시스템이란? 메모리 기반 추천시스템과는 다르게 모델을 생성해 둔 후, 모델을 통해서 추천을 제공하는 방식이다. 요새는 다양한 추천시스템 모델들이 발전하며(LightGCN, MF 등 ... 논문 카테고리에 몇개 정리되어있다.) ..
[RecSys] LightGCN: Simplifying and Powering Graph ConvolutionNetwork for Recommendation
·
논문 리뷰
추천시스템 프로젝트 시작하면서 급하게 읽는 GCN .. 💃🏻 수식이 너무 어려워용 👩🏻‍💻 본 포스팅은 개인적 공부를 위해 논문 LightGCN을 정리한 포스팅으로, 오류가 있을 수 있습니다. 1. Introduction LightGCN은 GCN에서 협업 필터링에 필요한 부분만 살린 모델로, 특히 GCN을 계승한 NGCF의 약점을 보완한다는 특징이 있다. Contribution은 다음과 같다. GCN 모델에 사용된 feautre transformation과 nonlinear activation 단계를 제거해, 협업 필터링에 의미 없고 연산량만 잡아먹는 연산을 제거한다. GCN의 아키텍처 중에서도 추천에 가장 의미있는 컴퍼넌트들만 선정한 추천시스템을 구축한다. 2. Preliminaries GCN - 애초..
[RL] Deep Reinforcement Learning From Human References : RLHF
·
논문 리뷰
👩🏻‍💻 본 포스팅은 개인적 공부를 위해 강화학습 논문 RLHF를 정리한 포스팅으로, 오류가 있을 수 있습니다. 1. Introduction 이전까지 진행되어온 RL 연구는 'reward' 단계가 태스크별로 매우 구체적이어야 한다는 단점이 존재했다. 이 논문은 'reward', 즉 보상이 구체적이고 복잡해야 한다는 단점을 극복하게 된다면 RL이 더욱 발전할 것이라는 전제에서 시작된다. inverse RL이나 정확한 행동을 지시하는 방법도 있지만, 로봇에게 행동을 지시할 때에는 인간과 다른 방식의 행동론을 적용해야 한다는 어려움이 존재한다. => 인간이 원하는 방향성대로 agent=머신을 조종하기 위해서는, '머신이 수행할 수 있는 범위와 방향성 내에서 인간이 궤도를 결정하여 최적화하는' 방식을 채택한다...
[데이터베이스] 데이터베이스 저장 및 인덱스
·
Computer Science
데이터베이스의 저장 장치 일반적으로 하드디스크(HDD, mechanic device), SSD(electronic device)에 저장함. 디스크 성능 결정의 주요 요소 디스크 I/O 디스크 접근 횟수를 줄이기 disk access time 줄이기 디스크에 데이터를 배치하는 방식 ⇒ 파일 조직 방법 Disk Access Time disk access time = seek time + rotational delay + transfer time seek time = 데이터가 있는 트랙을 찾아가는 시간 rotational delay = 데이터가 있는 섹터를 찾아가는 시간 transfer time = 디스크 헤드가 데이터를 읽어들이는 시간 하드 디스크는 mechanical device이므로, 트랙을 찾는 시간(..
[NLP] 언어모델의 평가 지표 - PPL, BLEU score
·
AI
이미지 태스크와 달리 NLP에서는 모델의 성능을 평가하기 위해서는 정답 문장과 예측 문장 사이의 연관성을 평가해야 한다. BLEU score(↑) : 정답 문장과 예측 문장 사이에 n-gram이 겹치는 정도의 기하평균 PPL score(↓) : token 예측 확률 q의 역수를 기하평균 - “혼란이 적어질수록, 원하는 결과를 얻을 수 있는 확률이 높아진다” BLEU score BLEU score를 이해하기 위해서는 precision과 N-gram에 대한 이해가 선행되어야 한다. precision : #(correct words) / (length_of_prediction) N-gram : 연속적인 단어들을 의미 -> 둘을 합치면? 각 N-gram 에서의 precision을 구할 수 있다. BLEU sco..
[PyTorch] Transformers 라이브러리 #2
·
AI
Hugging Face 🤗 사에서 제공하는 Transformers Course를 한국어 버전으로 혼자 공부하며 정리한 글입니다. 1장에서 소개한 pipeline() 함수를 대체하기 위해, 직접 model과 tokenizer를 함께 사용한다. tokenizer는 텍스트 입력을 수치 데이터(numerical data)로 변환하고, 이 수치 데이터를 다시 텍스트로 변환하는 기능을 수행한다. model은 적합한 모델 아키텍처를 불러와 학습을 진행하는 기능을 수행한다. 파이프라인은 전처리, 모델로 입력 전달, 후처리의 3단계를 한 번에 실행한다. 모델 / 토크나이저 불러오기 config() 기본 설정에서 모델을 생성하는 방법도 있지만, 보통 사전 학습된 Transformer 모델을 로드해온다. from_pretr..