Loading...
2024. 4. 24. 23:33

문장 생성의 성능평가 지표2 - bleu score

1. precision과 recall의 문제점 정답문장에 대해 2개의 모델로 예측문장을 얻었다고 해보자.   두번째 모델로 만든 문장의 경우 모든 단어가 정답문장 단어와 매칭이 되는데 순서가 전혀 맞지 않는다는 것이 문제다.  그럼에도 불구하고 precision과 recall은 100% 때로는 언어에서 순서는 매우 중요한데 단어만 맞췄다고 완벽한 번역이라고 볼수있을까? precision과 recall, f-measure는 계산방식으로부터 알 수 있겠지만  오직 부합하는 단어의 수에만 집중하기 때문에 순서정보를 전혀 반영하지 않는다는 것이 문제다.  2. introduction  bleu score는 순서를 반영하지 않는다는 precision과 recall의 문제점을 개..

2024. 4. 24. 02:37

Unity 기본10 - class 만들기

1. class 만들기 scripts에 character.cs c# 스크립트를 만든다 project 창에서 우클릭 - create - c# script하면 만들 수 있다      character.cs 더블클릭해서 visual studio를 연다 Character이름 옆에 MonoBehaviour 제거하고 void start, void update 모두 제거해서 class 틀만 남긴다 using System.Collections;using System.Collections.Generic;using UnityEngine;public class Character{}  클래스 이름, 함수 이름은 대문자로 시작하고 변수 이름은 소문자로 시작하는 것을 관습으로 하고 있다 캐릭터의 이름과 체력을 속성으로 가지고, ..

2024. 4. 24. 00:34

문장 생성의 성능평가 지표1 - precision and recall, F-score

1. precision and recall translation 후에 생성된 문장이 정확한지 평가할 필요가 있다. 기본적으로 단어를 생성하는 방법은 target 각 단어별 실제 정답과의 softmax loss가 최소화되게 만든다. test data에 대해서도 예측된 단어와 정답인 단어의 softmax loss로 분류 정확도를 계산한다. 이런 논리에 기반하여 정답문장과 예측문장사이 각 단어별 matching count로 정확도를 평가하는 방법을 생각할 수 있다. I love you라는 정답문장을 출력해야하는데 oh I love you를 출력했다고한다면 각 matching count=0이니까 정확도는 0%이다. 그런데 크게 떨어지는 번역품질이라고 보기 어렵다 나쁘지 않은 번역.. 그러니까 0%라고 보기 어렵..

2024. 4. 23. 23:15

pooling은 왜 사용하는가?

이미지 사이즈를 줄이거나 fully connected 연산을 대체하기 위해 사용함 (average pooling) input을 filter에 의해 convolution 연산을 하고 pooling을 통해 이미지 사이즈를 줄인 output을 얻는 것이 기본적인 CNN 이미지에 있는 pixel 정보를 압축하면서 이미지 사이즈를 줄인다. max pooling, average pooling 등 여러가지가 있다. 다음은 4*4이미지에서 2*2 max pooling을 적용한 모습 다음은 4*4이미지에서 2*2 average pooling을 적용한 모습 pooling을 사용한 기본적인 CNN 구조

2024. 4. 23. 01:51

Unity 기본9 - enum, struct

1. enum 저장되는 데이터에 이름을 붙여서 읽기 편한 코드를 만드는 것 내부적으로는 int로 정수형과 같다 0,1,2,... 로 되는데.. arrow - 0 bullet - 1 missile - 2 ... 파이썬의 enumerate 같은 거인듯? using System.Collections; using System.Collections.Generic; using UnityEngine; public class HelloWorld : MonoBehaviour { enum ProjectileKind { Arrow, Bullet, Missile } // Start is called before the first frame update void Start() { ProjectileKind kind; kind ..

2024. 4. 22. 23:43

matplotlib.pyplot의 gray image 출력이 이상하다면

흑백이미지를 준비하고 matplotlib.pyplot에서 plt.imshow로 출력을 해보면 cmap이라는 옵션을 줘야한다 color map이라는 뜻인데 기본값이 viridis라고 한다. 실제로 색이 비슷한걸 보니 그런것 같다 This parameter is ignored if X is RGB(A). 마지막에 이런 문장이 있는데, X가 RGB image면 cmap을 무시한다고 한다 channel 3인 gray image로 줬을 때는 cmap을 안줘도 gray로 잘 나온다