Loading...
2025. 1. 4. 21:20

무게가 실수 float인 배낭 문제에 필요한 테크닉

4781번: 사탕 가게  가지고 있는 돈이 있고 사탕의 가격과 칼로리가 주어질때, 주어진 돈으로 얻을 수 있는 최대 칼로리를 구하는 문제 각 사탕은 중복해서 구매할 수 있다 무한 배낭 문제인데 특이한 점은 무게가 소수점 둘째자리까지 주어진다는 점 배낭 문제로 해결하고 싶어도 배열의 크기는 실수로 만들수 없다 그러면 어떻게 해야할까? 소수점 둘째자리까지 주어지기 때문에, 실수인 가격을 모두 100을 곱해서 정수로 만들면 모두 동등하게 100을 곱했기 때문에 아무 문제가 없다 그리고 무한 배낭 문제이기 때문에 무게를 순회할때는 정방향으로 순회하도록 for i in range(p,m+1): 이렇게 from sys import stdinwhile 1: n,m = stdin.readline().rstrip(..

2025. 1. 3. 21:44

네이버 검색에서 LLM의 활용(LLM으로 학습 데이터를 만드는 사례)

1. 검색 검색은 탐색형과 정보성으로 나뉜다. "캠핑"과 같은 검색은 구체적인 정보 취득보다는 탐색을 목적으로 검색하고, 발생 빈도가 높다 이런 검색은 개인화를 고려해서 캠핑 장비 등 검색 의도 단위로 문서 reranking이 이루어진다 반면, "19개월 잠만자요"같은 검색은 영유아가 잠만 자는 문제에 대한 구체적인 정보를 원하는 질문으로  다양하고 발생 빈도가 낮아 롱테일 질의라고 부른다. 이런 질의는 인기글이나 지식인 등 출처를 기준으로 나뉜 컬렉션 단위 랭킹이 이루어진다. 네이버 검색에는  "19개월 잠만자요" "신차구매시 기존 자동차보험 어떻게 해야하나요" "세입자가 안들어왔다고 돈을 안주는" "80대 요관암 말기 암 항암치료" 의도가 아주 세밀하나, 사용자들이 자주 검색하지는 않는 다양한 롱테일..

2025. 1. 2. 21:07

MobileCLIP: Fast Image-Text Models through Multi-Modal Reinforced Training

2024.03 1. 요약 이미지-텍스트 기반 모델(CLIP 등)의 대조적 사전 학습은 다양한 후속 작업에서 뛰어난 제로샷 성능과 향상된 강건성을 입증했습니다. 그러나 이러한 모델은 대규모 트랜스포머 기반 인코더를 사용하며, 이는 메모리와 지연 시간 측면에서 상당한 부담을 주어 모바일 디바이스에서의 배포에 어려움을 초래합니다.  본 연구에서는 MobileCLIP이라는 새로운 효율적인 이미지-텍스트 모델 군과 함께, 멀티모달 강화 학습(multi-modal reinforced training)이라는 새로운 효율적 학습 방법을 제안합니다. 제안된 학습 방법은 이미지 캡셔닝 모델과 강력한 CLIP 인코더 앙상블의 지식 전이를 활용하여 효율적인 모델의 정확성을 향상시킵니다. 우리의 접근 방식은 강화된 데이터셋(r..

2024. 12. 31. 21:32

Dataset Decomposition: Faster LLM Training with Variable Sequence Length Curriculum

2024.05 Apple Machine Learning Research 1. 요약 대규모 언어 모델(LLM)은 일반적으로 고정 길이의 토큰 시퀀스로 구성된 데이터셋을 사용하여 훈련됩니다.  이러한 데이터셋은 다양한 길이의 문서를 무작위로 연결한 후, 정해진 목표 길이의 시퀀스로 분할하여 생성됩니다.  그러나 이러한 연결 방식은 시퀀스 내에서 문서 간 주의(cross-document attention)가 발생하게 하며, 이는 학습 신호로 적합하지 않을 뿐만 아니라 계산 효율성도 떨어뜨립니다.  또한, 긴 시퀀스에 대한 훈련은 주의 계산의 이차적 비용(quadratic cost) 때문에 계산적으로 부담이 큽니다. 이 연구에서는 이러한 문제를 해결하기 위해 데이터셋 분해(dataset decomposition..

2024. 12. 30. 20:20

C++에서 사용하는 데이터 형식

1. 데이터 형식 변수는 '값을 저장할 수 있는 공간' C++ 언어에서는 변수에 값을 저장하기 전에 정수, 부동 소수점, 문자 등 어떤 값을 저장할지 미리 정해주어야함 이를 데이터 형식(자료형)이라고 한다 파이썬 같은 인터프리터 언어는 변수의 형식을 자동으로 결정해주는데 C++같은 컴파일 언어는 형식을 직접 지정해주어야함 형식이 엄격한 C++같은 언어는 변수를 선언하고 사용할 때 어떤 형식으로 만들지 항상 고민해야하는데,  파이썬같은 형식이 유연한 언어보다 훨씬 까다롭지만, 런타임 오류도 줄고 메모리를 효율적으로 이용할 수 있는 장점도 있다  형식키워드크기(byte)특징보이드voidnone'형식 없음'불리언bool1true, false문자char18비트 정수형으로 사용될 경우 일반적으로 -128~127u..

무한 배낭 문제 unbounded knapsack에 대한 또 다른 핵심 고찰(dp[i] = min(dp[i], dp[i-k*w[j]] + k*v[j]) = min(dp[i], dp[i-w[j]] + v[j]))

1. 무한 배낭 문제(unbounded knapsack) 일반적인 배낭 문제는 무게가 제한된 배낭에 특정 물건을 최대 가치로 담는 방법을 찾는 문제인데, 각각의 물건은 최대 하나씩만 담을 수 있다 https://deepdata.tistory.com/474 배낭(Knapsack) 문제, 다이나믹 프로그래밍 해법 배우기1. 배낭 문제 개요 n개의 물건이 존재하고, 각 물건 i의 무게는 $w_{i}$, 가치가 $v_{i}$로 주어진다. 배낭의 용량이 W라고 할때, 이러한 배낭에 담을 수 있는 물건의 최대 가치는? 단, 배낭에 담은 물건deepdata.tistory.com   근데 각 물건을 무한히 담을 수 있는 경우, 그러한 문제를 unbounded knapsack 무한 배낭 문제라고 부른다  알고보니 이미 ..