Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/moses-smt/mosesdecoder.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'mira/Optimiser.h')
-rw-r--r--[-rwxr-xr-x]mira/Optimiser.h47
1 files changed, 36 insertions, 11 deletions
diff --git a/mira/Optimiser.h b/mira/Optimiser.h
index 8ad38bd5a..b91ad2c4f 100755..100644
--- a/mira/Optimiser.h
+++ b/mira/Optimiser.h
@@ -31,7 +31,6 @@ namespace Mira {
Optimiser() {}
virtual size_t updateWeightsHopeFear(
- Moses::ScoreComponentCollection& currWeights,
Moses::ScoreComponentCollection& weightUpdate,
const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValuesHope,
const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValuesFear,
@@ -48,7 +47,6 @@ namespace Mira {
class Perceptron : public Optimiser {
public:
virtual size_t updateWeightsHopeFear(
- Moses::ScoreComponentCollection& currWeights,
Moses::ScoreComponentCollection& weightUpdate,
const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValuesHope,
const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValuesFear,
@@ -80,8 +78,7 @@ namespace Mira {
m_normaliseMargin(normaliseMargin),
m_sigmoidParam(sigmoidParam) { }
- size_t updateWeights(Moses::ScoreComponentCollection& currWeights,
- Moses::ScoreComponentCollection& weightUpdate,
+ size_t updateWeights(Moses::ScoreComponentCollection& weightUpdate,
const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValues,
const std::vector<std::vector<float> >& losses,
const std::vector<std::vector<float> >& bleuScores,
@@ -92,8 +89,7 @@ namespace Mira {
float learning_rate,
size_t rank,
size_t epoch);
- virtual size_t updateWeightsHopeFear(Moses::ScoreComponentCollection& currWeights,
- Moses::ScoreComponentCollection& weightUpdate,
+ virtual size_t updateWeightsHopeFear(Moses::ScoreComponentCollection& weightUpdate,
const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValuesHope,
const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValuesFear,
const std::vector<std::vector<float> >& bleuScoresHope,
@@ -104,8 +100,31 @@ namespace Mira {
size_t rank,
size_t epoch,
int updatePosition = -1);
- size_t updateWeightsAnalytically(Moses::ScoreComponentCollection& currWeights,
- Moses::ScoreComponentCollection& weightUpdate,
+ size_t updateWeightsHopeFearSelective(Moses::ScoreComponentCollection& weightUpdate,
+ const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValuesHope,
+ const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValuesFear,
+ const std::vector<std::vector<float> >& bleuScoresHope,
+ const std::vector<std::vector<float> >& bleuScoresFear,
+ const std::vector<std::vector<float> >& modelScoresHope,
+ const std::vector<std::vector<float> >& modelScoresFear,
+ float learning_rate,
+ size_t rank,
+ size_t epoch,
+ int updatePosition = -1);
+ size_t updateWeightsHopeFearSummed(Moses::ScoreComponentCollection& weightUpdate,
+ const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValuesHope,
+ const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValuesFear,
+ const std::vector<std::vector<float> >& bleuScoresHope,
+ const std::vector<std::vector<float> >& bleuScoresFear,
+ const std::vector<std::vector<float> >& modelScoresHope,
+ const std::vector<std::vector<float> >& modelScoresFear,
+ float learning_rate,
+ size_t rank,
+ size_t epoch,
+ bool rescaleSlack,
+ bool rewardHope,
+ bool makePairs);
+ size_t updateWeightsAnalytically(Moses::ScoreComponentCollection& weightUpdate,
Moses::ScoreComponentCollection& featureValuesHope,
Moses::ScoreComponentCollection& featureValuesFear,
float bleuScoreHope,
@@ -115,15 +134,21 @@ namespace Mira {
float learning_rate,
size_t rank,
size_t epoch);
- size_t updateWeightsRankModel(Moses::ScoreComponentCollection& currWeights,
- Moses::ScoreComponentCollection& weightUpdate,
+ size_t updateWeightsRankModel(Moses::ScoreComponentCollection& weightUpdate,
const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValues,
const std::vector<std::vector<float> >& bleuScores,
const std::vector<std::vector<float> >& modelScores,
float learning_rate,
size_t rank,
size_t epoch);
-
+ size_t updateWeightsRankModelSummed(Moses::ScoreComponentCollection& weightUpdate,
+ const std::vector<std::vector<Moses::ScoreComponentCollection> >& featureValues,
+ const std::vector<std::vector<float> >& bleuScores,
+ const std::vector<std::vector<float> >& modelScores,
+ float learning_rate,
+ size_t rank,
+ size_t epoch);
+
void setSlack(float slack) {
m_slack = slack;
}