반응형

전체 글 127

QA with Phrase Retrieval

Phrase Retrieval in ODQA Error propagation: 5-10개의 문서만 reader에게 전달됨retrieval에 의존도가 높아짐Query-dependent encoding: query에 따라 정답이 되는 answer span에 대한 encoding이 달라짐query와 context를 concate해서 encoding을 하다보니 query가 달라지면 모두 다시 encoding을 해야함 Phrase search (document search) 문서 검색을 하듯이 phrase(절)을 바로 검색할 수는 없을까라는 아이디어에서 나옴Phrase indexing문장에서 각 phrase마다 나누어 key vectors를 생성해둔다면 query vector만 encoding하여서 Nearest..

Open-Book QA vs Closed-Book QA

Open-book QA대량의 지식소스를 특정 문서 단위로 나누어 dense / sparse 형태로 표현한 후, query가 들어오면 가장 그와 관련된 문서를 searchClosed-book QA대량의 지식소스(위키피디아)를 기반으로 사전학습된 언어 모델이 그 지식을 기억하고 있을 것이라 가정함Search 과정 없이 바로 정답을 생성함사전학습된 언어 모델이 얼마나 지식을 잘 기억하고 있는지가 매우 중요함 Closed-book QA as Text-to-Text formatClosed-book QA에 사용된 방법은 generation-based MRC와 유사함단, 입력에 지문(context)가 없이 질문만 들어감사전 학습된 언어 모델은 BART와 같은 seq-to-seq 형태의 transformer 모델을 사..

2. Mathematics for ML - (2) Eigenvalues and Eigenvectors

Part 1. Matrix Decomposition (2) Eigenvalues and  Eigenvectors matrix A가 주어졌을 때, 아래의 식을 만족한다면 λ를 eigenvalue,  x를 eigenvector라고 합니다. Eigenvalue(λ)를 구하고 싶을 때, det(A-λIn) = 0을 풀면 값을 구할 수 있습니다.    eigenvalue는 determinant를 통해 구할 수 있습니다.* span: ( 2 1 ) vector에 어떠한 constant c를 곱해도 eigenvector가 된다는 것 !* eigenvectors들은 unique하지 않다 !   Determinant는 eigenvalue들의 곱셈으로 표현됩니다. Trace는 eigenvalue들의 덧셈으로 표현됩니다. ..

LG aimers 2024.07.10

2. Mathematics for ML - (1) Determinant and Trace

Part 1. Matrix Decomposition (1) Determinant and Trace * extra행렬식은 영어로 determinant라고 합니다. 그 의미를 파악하기 위해 먼저, 간단하게 2 * 2 행렬을 살펴봅시다.첫 행렬로 (1,0), (0,1) 두 벡터로 구성된 행렬을 봅시다. 이 두 벡터를 좌표공간에 표현하면 아래 그림의 좌측과 같은 행태로 그릴 수 있습니다. 그리고 두 벡터를 이용해 만들 수 있는 우측 도형의 면적이 해당 행렬의 행렬식의 절대값 입니다. 이렇게, 행렬식의 절대값은 이 도형의 면적을 의미합니다.  Determinant는 오직 정방행렬에 대해서만 정의된다. 정방행렬 A의 determinant란 A를 실수로 mapping하는 함수이다. 정방행렬 A가 invertible인..

LG aimers 2024.07.10

1. AI 윤리

데이터 분석과 AI 학습에서 유의할 점1. 데이터의 확보, 전처리, 분석, 해석의 전 과정이 중요* 고품질의 데이터가 입력되었을 때 학습 결과도 유의미하며, 데이터가 가지는 오차 범위와 특이점, 대표성에 대한 충분한 이해를 가지고 접근해야 함 2. 알고리즘의 설명력, 편향, 신뢰의 문제에 주의 * 블랙박스 알고리즘이 실제 사회에서 사용되기 위해서는 많은 경우 설명력 보강이 필요하며,노이즈와 데이터 가변성에도 대처 가능한 알고리즘을 개발하도록 노력* AI가 다양한 사회 서비스에서 인간 결정을 돕거나 대체함에 따라윤리적 의사결정이 확보되도록 점검

LG aimers 2024.07.10

Fast Tokenizer

Slow Tokenizer와 Fast tokenizer'slow' tokenizer는 Transformers 라이브러리 내부에서 Python으로 작성된 것, 'fast' tokenizer는 Rust로 작성되어 Tokenizers에서 제공하는 것입니다. 단일 문장을 토큰화할 때 동일한 토크나이저의 느린 버전과 빠른 버전 간의 속도 차이가 항상 나는 것은 아닙니다. 사실, 빠른 버전은 실제로 더 느릴 수 있습니다. 많은 텍스트를 동시에 토큰화할 때만 차이를 명확하게 알 수 있습니다.   Batch Encoding토크나이저의 출력은 단순한 python 딕셔너리가 아닙니다. 우리가 얻는 것은 실제로 특별한 batch encoding 객체입니다. 빠른 토크나이저에서 주로 사용하는 추가 메서드가 있습니다. 병렬화(..

오토인코더(Auto Encoder) ・ Variational 오토인코더

오토인코더란 ? 오토인코더(AutoEncoder)란 입력이 들어왔을 때, 해당 입력 데이터를 최대한 compression 시킨 후, compressed data를 다시 본래의 입력 형태로 복원 시키는 신경망입니다. 이때, 데이터를 압축하는 부분을 Encoder라고 하고, 복원하는 부분을 Decoder라고 부릅니다. 압축 과정에서 추출한 의미 있는 데이터 Z를 보통 latent vector라고 부릅니다. 왜 이름이 오토인코더일까요 ? 다음 그림을 예시로 설명드리겠습니다. 위의 그림은 Auto Encoder의 결과를 시각화한 이미지입니다. 자세히보면 y축으로 두께가 변하고, x축으로는 기울기가 변하는 것을 확인할 수 있습니다. 이를 통해 이 모델의 latent vector는 두께, 회전, Class로 정의되..

[python] 1158. 요세푸스 문제

문제: https://www.acmicpc.net/problem/1158 풀이  리스트 회전을 구현하는 법을 알면 어려운 문제는 아니였습니다.# *** 으로 표시한 부분을 주의하여 구현하면 되는 문제입니다. # pop 해야 할 원소를 list의 가장 마지막으로 옮기고 pop = O(1)N, K = map(int, input().split())arr = [i for i in range(1, N+1)]idx = 0 # 제거될 사람의 인덱스 번호ans = []for i in range(N): idx = (idx + K-1) % len(arr) # *** ans.append(arr.pop(idx))ans[0] = ""print(*ans, sep= ', ')

[프로그래머스] level1. 크레인 인형뽑기 게임

문제:  https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이 문제의 풀이는 아래의 두 가지가 있습니다.비슷한 방법입니다. 행렬을 transpose하는 것이 아니라, moves에서 인덱스 값을 받아와서 처리합니다. def solution(board, moves): nrow, ncol = len(board), len(board[0]) stack = [] cnt = 0 for m in moves: # [1,5,3,5,1,2,1,4..

쿠버네티스(Kubernetes) ・ 도커(Docker)

쿠버네티스란 ? 쿠버네티스를 간단히 말하면, 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고 확장 가능한 오픈소스 플랫폼입니다. 일단 쿠버네티스가 무엇이고 등장 배경과 애플리케이션 배포 환경의 변화를 살펴보도록 하겠습니다. 애플리케이션 배포 환경의 변화 프로그램을 개발한 후, 사람들에게 서비스를 제공하려면 특정 서버에 본인이 만든 소프트웨어를 배포해야 합니다. 이 '배포' 방식의 변화 과정을 이해하는 것이 컨테이너, 도커, 쿠버네티스의 개념을 이해하는데 있어서 굉장히 중요합니다.   Container Deployment(컨테이너 배포) 시대로 오기까지의 여정  1. 전통적인 방식(Traditional Deployment)가장 오래되고 단순한 방식물리적인 컴퓨터 한 대에 하나의 OS를 설치하고..

Computer Science 2024.06.17
728x90
반응형