Loading...
2023. 4. 3. 00:41

자바 HashMap - 개발자가 정의한 class를 key로 만드는 방법

자바의 HashMap은 파이썬의 dict처럼, 고유한 key와 대응하는 value를 하나의 쌍으로 하여, 저장하는 자료구조 일반적으로 key를 문자열, 정수값으로 사용하지만, 필요에 따라 특정한 class를 key로 하고 싶을 수 있다 시험에 아래와 같은 Point라는 클래스를 key로 하고 싶었는데... class Point { int x,y; public Point(int x, int y) { this.x = x; this.y = y; } } 이걸 HashMap의 key로 사용해서 자료를 관리해볼려 했는데.. 원하는대로 동작을 안하더라고? 그립습니다 파이썬님 자연스럽게 두 객체 p1, p가 같다는 것은 x,y가 서로 같다는 것인데.. 문제는 key로 사용한 p1의 주소와 get을 하면서 넣은 p의 주..

2022. 10. 20. 22:38

자바스크립트 기초문법8 -object에 대하여-

1. 개요 객체는 속성의 집합이고, 중괄호 내부에 key와 value의 쌍으로 표현함 파이썬의 dictionary key는 문자열 타입만 가능하고, 띄어쓰기 등의 구분자가 있으면 따옴표로 묶어서 나타낸다. value는 함수 포함 모든 타입 가능하다 객체의 요소에 대한 접근은 점(.)이나 대괄호([])가 가능하다. 단 key 이름에 띄어쓰기 같은 구분자가 있으면 대괄호 접근만 가능하다 띄어쓰기가 있으면 .으로는 접근 못하고, key에서 ''으로 묶어야한다는게 무슨 말인지 알겠지 2. 속성명 축약 객체 정의할때, key와 할당하고자 하는 변수의 이름 value가 서로 같으면 key:value로 쓰던걸 key,로 축약 가능 예를 들어 다음과 같이 축약이 가능하다 3. 메소드명 축약 메소드를 value로 가질때..

2022. 7. 18. 02:34

변수(variable), 리스트(list), 딕셔너리(dictionary) 맛보기

1. 변수(variable) 하나의 값을 저장하는 공간 크게 숫자, 글자, 참/거짓 등을 저장할 수 있다 1-1) 숫자 현실의 모든 숫자들 자연수, 음수, 실수,... 심지어 파이썬은 복소수까지도 가능함 기본적인 수학연산이 가능 120, -365, ... , 3.141592,... 1-2)글자 현실의 모든 글자들 반드시 따옴표로 둘러싸야 글자로 인식함 여기서 따옴표는 작은따옴표(' ')나 큰따옴표(" ") 하나의 코딩파일에서 통일하는게 좋다 숫자도 ' '으로 둘러싸면 글자로 인식 58은 숫자이지만 '58'은 글자 "미세먼지" , "58도 글자입니다." "58" , "글자는 반드시 따옴표를 붙여야합니다!!" 1-3) 참/거짓 True, False 프로그램 제어(조건, 반복 등)에 주로 사용함 혹은 식의 결..

2022. 5. 18. 20:03

transformer의 마지막 encoder-decoder multi head attention

1. encoder-decoder multi head attention decoder의 2번째 attention layer는 특별하게 encoder decoder multi head attention으로 불린다. decoder의 masked self attention 이후 나온 결과는 Query로 들어오고 encoder의 최종 결과로 나오는 hidden vector는 적절하게 변형?되어 key,value로 들어온다 decoder의 query는 encoder가 이해한 맥락정보로부터 받아온 key value중 어떠한 정보에 더 집중할지 attention 연산을 수행하게 된다. 그 후 residual connection, layer normalization을 거치고 나온 결과에 encoder가 그랬던 것처럼 ..

2022. 5. 18. 02:09

transformer decoder에 사용된 masked self attention에 대해 알아보고 구현하기

decoder는 특이하게 masked multi head attention을 먼저 수행한다. 이것은 decoder 내부에서 이루어지는 self attention 과정으로 decoder의 input sequence끼리만 이루어진다. 언어모형을 학습시킬때 이미 정답을 아는 상태에서 학습을 시킨다. i go home을 번역하라고 할때 decoder에는 ' 나는 집에 간다'를 넣고 '나는 집에 간다 '를 순차적으로 뱉게 학습을 시킨다는 것이다. decoder에 input으로 ''를 넣어주면 output이 '나는'이 나오길 바라고 '나는'을 input으로 넣어주면 '집에'가 나오길 바란다. 그런식으로 학습을 시킨다. 하지만 이런 학습이 inference에는 어울리지 않는다는 점이다. test과정에서는 정답을 모른..

2022. 5. 2. 21:02

multi-head attentiond 개념 알아보고 간단하게 구현해보기

지금까지 이야기한 것은 word embedding vector들의 self attention을 단 1번만 수행했다는 점인데 이것을 확장하여 여러번 수행하고 싶다는 것이다. 왜 여러번 수행해야할까? 단 1번의 self attention은 1가지 측면에서만 word들의 attention 측면을 고려하지만 필요에따라 attention 측면을 여러 방면에서 수행할 필요가 있다. 특히 매우 긴 문장의 경우 ‘I went to the school. I studied hard. I came back home. I took the rest.’를 생각해보자. 이 문장을 해석하기 위해 단어 I에 대해서 고려해야할 대상은 went, studied, came, took 등 동사 측면도 있지만 그것의 대상이되는 school, ..