"排気通路に設けられた空燃比検出手段の出力に基づいて空燃比を所定の目標空燃比に制御する空燃比フィードバック制御手段と、この空燃比フィードバック制御の実行中に学習制御する学習制御手段と、1つ以上の気筒を含む所定の対象気筒の燃料噴射量を強制的に所定量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、前記所定の対象気筒に対して前記燃料噴射量変更制御が実行されたとき、少なくとも当該変更後の前記所定の対象気筒の回転変動に基づき気筒間空燃比ばらつき異常を検出する検出手段と、を備える多気筒内燃機関において、空燃比フィードバック制御中に前記燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるとき、前記学習制御手段による学習制御を停止することを特徴とする多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。前記燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるときに、該燃料噴射量変更制御における該所定の対象気筒の燃料噴射量の変更量に対応した分、前記空燃比フィードバック制御における目標空燃比を前記所定の目標空燃比から変更後目標空燃比に変更する目標空燃比変更手段をさらに含むことを特徴とする請求項1記載の多気筒内燃機関の気筒間空燃比ばらつき異常検出装置。ところで、いずれかの気筒に空燃比異常が生じている場合、当該気筒への燃料噴射量を強制的に増量又は減量して変更制御すると、当該気筒の回転変動が顕著に大きくなる。よって、このような回転変動の増大を検出することで、気筒間空燃比ばらつき異常、つまり気筒間の空燃比がインバランス状態になっていることを検出することが可能である。一方、そのような燃料噴射量変更制御を実行しているときに、空燃比を理論空燃比などの所定の目標空燃比に追従させる空燃比フィードバック制御や空燃比学習制御が実行されると、これらの空燃比フィードバック制御や空燃比学習制御の実行により、燃料噴射量変更制御により変更された通常とは異なる燃料噴射量の値が学習されることになる。この結果、燃料噴射量変更制御が終了して通常の空燃比フィードバック制御や空燃比学習制御に戻ったときに、この通常とは異なる学習値が空燃比フィードバック制御に反映され、排気エミッションの悪化が生じる虞がある。そこで本発明は、以上の事情に鑑みて創案され、その目的は、多気筒内燃機関において、排気エミッションの悪化を抑制することができる気筒間空燃比ばらつき異常検出装置を提供することにある。上記目的を達成するための本発明の一形態に係る気筒間空燃比ばらつき異常検出装置は、排気通路に設けられた空燃比検出手段の出力に基づいて空燃比を所定の目標空燃比に制御する空燃比フィードバック制御手段と、このフィードバック制御の実行中に学習制御する学習制御手段と、1つ以上の気筒を含む所定の対象気筒の燃料噴射量を強制的に所定量変更する燃料噴射量変更制御を実行する燃料噴射量変更制御手段と、前記所定の対象気筒に対して前記燃料噴射量変更制御が実行されたとき、少なくとも当該変更後の前記所定の対象気筒の回転変動に基づき気筒間空燃比ばらつき異常を検出する検出手段と、を備える多気筒内燃機関において、空燃比フィードバック制御中に前記燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるとき、前記学習制御手段による学習制御を停止することを特徴とする。この形態によれば、空燃比フィードバック制御中に燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるときは、学習制御手段による学習制御が停止されるので、燃料噴射量変更制御が終了して通常の空燃比フィードバック制御や空燃比学習制御に戻ったときに、通常と異なる学習値が空燃比フィードバック制御に反映されない。したがって、排気エミッションの悪化が生じるのが抑制される。ここで、上記形態は、前記燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるときに、該燃料噴射量変更制御における該所定の対象気筒の燃料噴射量の変更量に対応した分、前記空燃比フィードバック制御における目標空燃比を前記所定の目標空燃比から変更後目標空燃比に変更する目標空燃比変更手段をさらに含むことが好ましい。この形態によれば、燃料噴射量変更制御手段による燃料噴射量変更制御が実行されるときには、目標空燃比変更手段によって、空燃比フィードバック制御における目標空燃比が、所定の対象気筒の燃料噴射量の変更量に対応した分だけ所定の目標空燃比から変更後の目標空燃比に変更される。したがって、外乱による空燃比変動などが生じるのが防止されるので、結果として気筒間空燃比ばらつき異常の誤検出を防止し、ドライバビリティの悪化を抑制することができる。以下、本発明の実施形態を添付図面に基づき説明する。図1は、本発明の一実施形態に係る内燃機関エンジン10の概略図である。図示されるように、エンジン10は、シリンダブロック12を含むエンジン10内に形成された燃焼室14で燃料および空気の混合気を燃焼させ、燃焼室14内でピストンを往復移動させることにより動力を発生する。このエンジン10は、1サイクル4ストロークエンジンである。エンジン10は自動車用の多気筒内燃機関であり、より具体的には直列4気筒の火花点火式内燃機関すなわちガソリンエンジンである。ここではエンジン10は車両に搭載されている。ただし本発明が適用可能な内燃機関はこのようなものに限られず、2気筒以上を有する多気筒内燃機関であれば気筒数、形式等は特に限定されない。図示しないが、エンジン10のシリンダヘッドには吸気ポートを開閉する吸気弁と、排気ポートを開閉する排気弁とが気筒ごとに配設されている。各吸気弁および各排気弁はカムシャフトによって開閉される。シリンダヘッドの頂部には、燃焼室14内の混合気または燃料に点火するための点火プラグ16が気筒ごとに取り付けられている。各気筒の吸気ポートは気筒毎の枝管18を介して吸気集合室であるサージタンク20に接続されている。サージタンク20の上流側には吸気管22が接続されており、吸気管22の上流端にはエアクリーナ24が設けられている。そして吸気管22には、上流側から順に、吸入空気量を検出するためのエアフローメータ26と、電子制御式のスロットルバルブ28とが組み込まれている。吸気ポート、枝管18、サージタンク20および吸気管22により吸気通路30が実質的に形成される。吸気通路、特に吸気ポート内に燃料を噴射する燃料噴射弁インジェクタ32が気筒ごとに配設されている。インジェクタ32から噴射された燃料は吸入空気と混合されて混合気をなし、この混合気が吸気弁の開弁時に燃焼室14に吸入され、ピストンで圧縮され、点火プラグ16で点火燃焼させられる。一方、各気筒の排気ポートは排気マニホールド34に接続される。排気マニホールド34は、その上流部をなす気筒毎の枝管34aと、その下流部をなす排気集合部34bとからなる。排気集合部34bの下流側には排気管36が接続されている。排気ポート、排気マニホールド34および排気管36により排気通路38が実質的に形成される。排気管36には三元触媒を含む触媒コンバータ40が取り付けられている。この触媒コンバータ40が排気浄化装置をなしている。なお、触媒コンバータ40は、流入する排気の空燃比排気空燃比A/Fが理論空燃比ストイキ、例えばA/F=14.6近傍のときに排気中の有害成分であるNOx、HCおよびCOを同時に浄化するように機能する。触媒コンバータ40の上流側および下流側にそれぞれ排気空燃比を検出するための第1および第2空燃比センサ、換言すると、触媒前センサ42および触媒後センサ44が設置されている。これら触媒前センサ42および触媒後センサ44は、触媒コンバータ40の直前および直後の位置の排気通路に設置され、排気中の酸素濃度に基づく信号を出力する。上述の点火プラグ16、スロットルバルブ28およびインジェクタ32等は、電子制御ユニットECU50に電気的に接続されている。ECU50は、エンジン10における各種制御手段制御装置および各種検出手段検出部としての各機能を実質的に担うように構成されている。ECU50は、何れも図示されないCPU、ROMおよびRAMを含む記憶装置、並びに入出力ポート等を含むものである。またECU50には、図示されるように、前述のエアフローメータ26、触媒前センサ42、触媒後センサ44のほか、内燃機関10のクランク角を検出するためのクランク角センサ52、アクセル開度を検出するためのアクセル開度センサ54、エンジン冷却水温を検出するための水温センサ56、その他の各種センサが図示されないA/D変換器等を介して電気的に接続されている。ECU50は、各種センサによる出力および/または検出値等に基づいて、所望の出力が得られるように、点火プラグ16、スロットルバルブ28、インジェクタ32等を制御し、点火時期、燃料噴射量、燃料噴射時期、スロットル開度等を制御する。またスロットルバルブ28にはスロットル開度センサ図示せずが設けられ、スロットル開度センサからの出力信号がECU50に送られる。ECU50は、通常、アクセル開度に応じて定まる開度に、スロットルバルブ28の開度スロットル開度をフィードバック制御する。ECU50は、クランク角センサ52からのクランクパルス信号に基づき、クランク角自体を検出すると共にエンジン10の回転数を検出する。ここで回転数とは単位時間当たりの回転数のことをいい、回転速度と同義である。本実施形態では回転数とは1分間当たりの回転数rpmのことをいう。そして、ECU50は、通常、吸入空気量およびエンジン回転速度つまりエンジン運転状態に基づいて、予め記憶装置に記憶するデータ等を用いて、燃料噴射量または燃料噴射時間を設定する。そして、その燃料噴射量に基づいて、インジェクタ32からの燃料の噴射が制御される。なお、このような通常時の燃料噴射制御による燃料噴射量をここでは基準噴射量と称する。ところで、空燃比センサである触媒前センサ42は所謂広域空燃比センサからなり、比較的広範囲に亘る空燃比を連続的に検出可能である。図2に触媒前センサ42の出力特性を示す。図示するように、触媒前センサ42は、触媒前の排気空燃比A/Ffに比例した大きさの電圧信号Vfを出力する。排気空燃比がストイキ理論空燃比、例えばA/F=14.6であるときの出力電圧は、Vreff例えば約3.3Vである。他方、空燃比センサである触媒後センサ44は、所謂O2センサからなり、ストイキを境に出力値が急変する特性を持つ。図2に示すように、触媒後の排気空燃比A/Frがストイキであるときの出力電圧、すなわちストイキ相当値は、Vrefr例えば0.45Vである。触媒後センサ44の出力電圧は所定の範囲例えば0~1V内で変化する。概して排気空燃比がストイキよりリーンのとき、触媒後センサ44の出力電圧Vrはストイキ相当値Vrefrより低くなり、排気空燃比がストイキよりリッチのとき、触媒後センサ44の出力電圧Vrはストイキ相当値Vrefrより高くなる。触媒コンバータ40は三元触媒を備え、上記したように、そこに流入する排気ガスの空燃比A/Fがストイキ近傍のときに排気中の有害成分であるNOx、HCおよびCOを同時に浄化する機能を有する。しかし、この三者を同時に高効率で浄化できる空燃比の幅ウィンドウは比較的狭い。そこで、エンジン10の通常運転時、触媒コンバータ40に流入する排気の空燃比をストイキ近傍に制御するための空燃比制御ストイキ制御がECU50により実行される。この空燃比制御は、触媒前センサ42によって検出された排気空燃比が所定の目標空燃比に一致するように混合気の空燃比具体的には燃料噴射量をフィードバック制御する主空燃比制御主空燃比フィードバック制御と、触媒後センサ44によって検出された排気空燃比がその所定の目標空燃比に一致するように混合気の空燃比具体的には燃料噴射量をフィードバック制御する補助空燃比制御補助空燃比フィードバック制御とからなる。ここでストイキ制御について説明する。図3にはストイキ制御のメインルーチンを示す。このメインルーチンはECU50により1エンジンサイクル=720°CA毎に繰り返し実行される。まずステップS301では、筒内混合気の空燃比をストイキとするような基本の燃料噴射量即ち基本噴射量Qbが算出される。基本噴射量Qbは例えば、エアフローメータにより検出された吸入空気量Gaに基づき、式:Qb=Ga/14.6により算出される。ステップS302では、触媒前センサ42の出力Vfが取得される。ステップS303では、このセンサ出力Vfとストイキ相当センサ出力Vreff図2参照との差、即ち触媒前センサ出力差ΔVf=Vf-Vreffが算出される。ステップS304では、この触媒前センサ出力差ΔVfに基づき、図4に示したようなマップ関数でもよい、以下同様から主空燃比補正量補正係数Kfが算出される。触媒前センサ出力差ΔVf及び主空燃比補正量Kfは、主空燃比フィードバック制御のための制御量をなす。例えばゲインをPfとするとKf=Pf×ΔVfで表される。そしてステップS305では、図5に示すサブルーチンで設定された補助空燃比補正量Krの値が取得される。最後に、ステップS306にて、インジェクタ2から噴射すべき最終的な燃料噴射量即ち最終噴射量Qfnlが式:Qfnl=Kf×QbKrにより算出される。図4のマップによれば、触媒前センサ出力Vfがストイキ相当センサ出力Vreffより大きいΔVf>0ほど、即ち実際の触媒前空燃比がストイキからリーン側に離れるほど、1に対しより大きな補正量Kfが得られ、基本噴射量Qbは増量補正される。反対に、触媒前センサ出力Vfがストイキ相当センサ出力Vreffより小さいΔVf<0ほど、即ち実際の触媒前空燃比がストイキからリッチ側に離れるほど、1に対しより小さな補正量Kfが得られ、基本噴射量Qbは減量補正される。こうして、触媒前センサ42によって検出された空燃比をストイキに一致させるような主空燃比フィードバック制御が実行される。ここで、ステップS306で得られた最終噴射量Qfnlの値は、制御対象となる全気筒に対し一律に用いられる。即ち、1エンジンサイクルの間、最終噴射量Qfnlに等しい量の燃料が各気筒のインジェクタ2から順次噴射され、次のエンジンサイクルでは新たに計算された最終噴射量Qfnlの燃料が各気筒のインジェクタ2から順次噴射される。なお、周知のように、最終噴射量Qfnlの算出に当たっては他の補正水温補正、バッテリ電圧補正等を追加することも可能である。図5には、補助空燃比補正量の設定学習制御のためのサブルーチンを示す。このサブルーチンはECU50により所定の演算周期で繰り返し実行される。まずステップS501では、ECU50に装備されたタイマのカウントが実行され、ステップS502では、触媒後センサ44の出力Vrが取得される。ステップS503では、このセンサ出力Vrとストイキ相当センサ出力Vrefr図2参照との差、即ち触媒後センサ出力差ΔVr=Vrefr-Vrが算出されると共に、この触媒後センサ出力差ΔVrが前回積算値に積算される。図6には、この触媒後センサ出力差ΔVrとその積算の様子を示す。そして、ステップS504では、タイマ値が所定値tsを超えたか否かが判断される。所定値tsを超えていなければルーチンが一旦終了される。ステップS504の判定で、タイマ値が所定値tsを超えている場合には、ステップS505に進み、この時点での触媒後センサ出力差積算値ΣΔVrが、触媒後センサ学習値ΔVrgとして更新記憶すなわち学習される。そしてステップS506で、この触媒後センサ学習値ΔVrgに基づき、図7に示したようなマップから、補助空燃比補正量Krが算出され、この補助空燃比補正量Krが更新記憶すなわち学習される。触媒後センサ学習値ΔVrg及び補助空燃比補正量Krは、補助空燃比フィードバック制御のための制御量をなす。例えばゲインをPrとするとKr=Pr×ΔVrgで表される。最後に、ステップS507にて、触媒後センサ出力差積算値ΣΔVr及びタイマがリセットされる。触媒後センサ出力差ΔVrを所定時間tsの間積算する理由は、触媒後センサ出力Vrのストイキ相当センサ出力Vrefrに対する時間平均的なズレ量を検知するためである。積算時間を規定する所定値tsは1エンジンサイクルより遙かに長い時間であり、よって触媒後センサ学習値ΔVrg及び補助空燃比補正量Krの更新、すなわち、学習は1エンジンサイクルより長い周期で行われる。図7のマップによれば、触媒後センサ出力Vrが時間平均的にストイキ相当センサ出力Vrefrより小さいΔVrg>0ほど、即ち実際の触媒後空燃比がストイキからリーン側に離れるほど、0に対しより大きな補正量Krが得られ、最終噴射量算出の際に基本噴射量Qbは増量補正される。反対に、触媒後センサ出力Vrが時間平均的にストイキ相当センサ出力Vrefrより大きいΔVrg<0ほど、即ち実際の触媒後空燃比がストイキからリッチ側に離れるほど、0に対しより小さな補正量Krが得られ、基本噴射量Qbは減量補正される。こうして、触媒後センサ44によって検出された触媒後空燃比をストイキに一致させるような補助空燃比フィードバック制御が実行される。エンジン及び車両の個体バラツキや触媒前センサ42の劣化等の理由で、主空燃比フィードバック制御を実行してもその結果がストイキからズレることがあるので、このズレを補正する目的で、かかる補助空燃比フィードバック制御が実行される。なお、この例では新たな学習値ΔVrg及び補正量Krが算出される度にこれらの値自身で更新を行うようにしたが、なまし等の平均化処理を行って更新速度を遅らせるようにしてもよい。さて、例えば全気筒のうちの一部の気筒特に1気筒において、インジェクタ32の故障等が発生し、気筒間に空燃比のばらつきインバランス:imbalanceが発生することがある。例えばインジェクタ32の閉弁不良により1気筒の燃料噴射量が他の2,3,4気筒の燃料噴射量よりも多くなり、1気筒の空燃比が他の2,3,4気筒の空燃比よりも大きくリッチ側にずれる場合である。このときでも、前述の空燃比フィードバック制御により比較的大きな補正量を与えれば、触媒前センサ42に供給されるトータルガス合流後の排気ガスの空燃比をストイキに制御できる場合がある。しかしこれは、気筒別に見ると、1気筒がストイキより大きくリッチ、2,3,4気筒がストイキよりリーンであり、全体のバランスとしてストイキとなっているに過ぎず、排気エミッション上好ましくないことは明らかである。そこで本実施形態では、かかる気筒間空燃比ばらつき異常を検出する装置が装備されている。ここで、気筒間空燃比のばらつき度合いを表す指標値としてインバランス率なる値を用いる。インバランス率とは、複数の全気筒のうちのある1気筒のみが燃料噴射量ズレを起こしている場合に、その燃料噴射量ズレを起こしている気筒インバランス気筒の燃料噴射量がどれくらいの割合で、燃料噴射量ズレを起こしていない気筒バランス気筒の燃料噴射量すなわち基準噴射量からズレているかを示す値である。インバランス率をIB、インバランス気筒の燃料噴射量をQib、バランス気筒の燃料噴射量すなわち基準噴射量をQsとすると、IB=Qib-Qs/Qs×100で表される。インバランス率IBが大きいほど、インバランス気筒のバランス気筒に対する燃料噴射量ズレが大きく、空燃比ばらつき度合いは大きい。本実施形態においては、所定の対象気筒の燃料噴射量をアクティブに、すなわち、強制的に増量または減量し、少なくとも燃料噴射量の増量または減量後の対象気筒の出力変動としての回転変動に基づき、ばらつき異常を検出する。ここで、この回転変動について説明する。回転変動とは、エンジン回転速度あるいはクランクシャフト回転速度の変化をいう。図8には回転変動を説明するための一例としてのタイムチャートを示す。図示例は直列4気筒エンジンの例であり、その点火順序は1,3,4,2気筒の順である。図8において、Aはエンジンのクランク角°CAを示す。1エンジンサイクルは720°CAであり、図には逐次的に検出される複数サイクル分のクランク角が鋸歯状に示されている。図8Bは、クランクシャフトが所定角度だけ回転するのに要した時間、すなわち回転時間Tsを示す。ここでは所定角度が30°CAであるが、他の値例えば10°CAとしてもよい。回転時間Tが長いほど図中上側に至るほどエンジン回転速度は遅く、逆に回転時間Tが短いほどエンジン回転速度は速い。この回転時間Tはクランク角センサ52の出力に基づきECU50により検出される。図8Cは、後に説明する回転時間差ΔTを示す。図中、正常とは、いずれの気筒にも空燃比ずれが生じていない正常な場合を示し、リーンずれ異常とは、1気筒のみに例えばインバランス率IB=-30のリーンずれが生じている異常な場合を示す。リーンずれ異常は例えばインジェクタの噴孔詰まりや開弁不良により生じ得る。まず、各気筒の同一タイミングにおける回転時間TがECUにより検出される。ここでは各気筒の圧縮上死点TDCのタイミングにおける回転時間Tが検出される。この回転時間Tが検出されるタイミングを検出タイミングという。次いで、検出タイミング毎に、当該検出タイミングにおける回転時間T2と、直前の検出タイミングにおける回転時間T1との差T2-T1がECUにより算出される。この差が図8Cに示す回転時間差ΔTであり、ΔT=T2-T1である。通常、クランク角がTDCを超えた後の燃焼行程では回転速度が上昇するため回転時間Tが低下し、その後の圧縮行程では回転速度が低下するため回転時間Tが増大する。しかしながら、図8Bに示すように1気筒がリーンずれ異常の場合、1気筒を点火させても十分なトルク出力が得られず、回転速度が上昇しづらいので、その影響で3気筒TDCにおける回転時間Tは大きくなっている。それ故、3気筒TDCにおける回転時間差ΔTは、図8Cに示すように大きな正の値となる。この3気筒TDCにおける回転時間および回転時間差をそれぞれ1気筒の回転時間および回転時間差とし、それぞれT1およびΔT1で表す。他の気筒についても同様である。次に、3気筒は正常であるので、3気筒を点火させたときには回転速度が急峻に上昇する。これにより次の4気筒TDCのタイミングでは、3気筒TDCのときに比べ回転時間Tが若干低下しているに過ぎない。それ故、4気筒TDCにおいて検出された3気筒の回転時間差ΔT3は、図8Cに示すように小さな負の値となる。このようにある気筒の回転時間差ΔTが、点火気筒TDC毎に検出される。以降の2気筒TDCおよび1気筒TDCにおいても4気筒TDCのときと同様の傾向が見られ、両タイミングにおいて検出された4気筒の回転時間差ΔT4および2気筒の回転時間差ΔT2はともに小さな負の値となっている。以上の特性が1エンジンサイクル毎に繰り返される。このように、各気筒の回転時間差ΔTは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の回転時間差ΔTを各気筒の回転変動の指標値つまり回転変動量として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の回転時間差ΔTは大きくなる。他方、図8Cに示すように、正常の場合には回転時間差ΔTが常時ゼロ付近である。図8の例ではリーンずれ異常の場合を示したが、逆のリッチずれ異常、すなわち1気筒のみに大きなリッチずれが生じている場合にも、同様の傾向がある。大きなリッチずれが生じた場合、点火しても燃料過多のため燃焼が不十分となり、十分なトルクが得られず、回転変動が大きくなるからである。次に、図9を参照して、回転変動を表す別の値つまり別の回転変動量の例を説明する。図9Aは図8Aと同様にエンジンのクランク角°CAを示す。図9Bは、前記回転時間Tの逆数である角速度ωrad/sを示す。ω=1/Tである。当然ながら、角速度ωが大きいほどエンジン回転速度は速く、角速度ωが小さいほどエンジン回転速度は遅い。角速度ωの波形は、回転時間Tの波形を上下反転した形となる。図9Cは、前記回転時間差ΔTと同様、角速度ωの差である角速度差Δωを示す。角速度差Δωの波形も、回転時間差ΔTの波形を上下反転した形となる。図中の正常およびリーンずれ異常については図8と同様である。まず、各気筒の同一タイミングにおける角速度ωがECUにより検出される。ここでも各気筒の圧縮上死点TDCのタイミングにおける角速度ωが検出される。角速度ωは、1を前記回転時間Tで除することにより算出される。次いで、検出タイミング毎に、当該検出タイミングにおける角速度ω2と、直前の検出タイミングにおける角速度ω1との差ω2-ω1がECUにより算出される。この差が図9Cに示す角速度差Δωであり、Δω=ω2-ω1である。通常、クランク角がTDCを超えた後の燃焼行程では回転速度が上昇するため角速度ωが上昇し、その後の圧縮行程では回転速度が低下するため角速度ωが低下する。しかしながら、図9Bに示すように1気筒がリーンずれ異常の場合、1気筒を点火させても十分なトルクが得られず、回転速度が上昇しづらいので、その影響で3気筒TDCにおける角速度ωは小さくなっている。それ故、3気筒TDCにおける角速度差Δωは、図9Cに示すように大きな負の値となる。この3気筒TDCにおける角速度および角速度差をそれぞれ1気筒の角速度および角速度差とし、それぞれω1およびΔω1で表す。他の気筒についても同様である。次に、3気筒は正常であるので、3気筒を点火させたときには回転速度が急峻に上昇する。これにより次の4気筒TDCのタイミングでは、3気筒TDCのときに比べ角速度ωが若干上昇するに過ぎない。それ故、4気筒TDCにおいて検出された3気筒の角速度差Δω3は、図9Cに示すように小さな正の値となる。このようにある気筒の角速度差Δωが、次点火気筒TDC毎に検出される。以降の2気筒TDCおよび1気筒TDCにおいても4気筒TDCのときと同様の傾向が見られ、両タイミングにおいて検出された4気筒の角速度差Δω4および2気筒の角速度差Δω2はともに小さな正の値となっている。以上の特性が1エンジンサイクル毎に繰り返される。このように、各気筒の角速度差Δωは、各気筒の回転変動を表す値であり、各気筒の空燃比ずれ量に相関した値であることが分かる。そこで各気筒の角速度差Δωを各気筒の回転変動の指標値として用いることができる。各気筒の空燃比ずれ量が大きいほど、各気筒の回転変動は大きくなり、各気筒の角速度差Δωは小さくなるマイナス方向に大きくなる。他方、図9Cに示すように、正常の場合には角速度差Δωが常時ゼロ付近である。逆のリッチずれ異常の場合にも同様の傾向がある点は上述した通りである。次に、ある1気筒の燃料噴射量をアクティブにつまり強制的に増量または減量して当該気筒での空燃比を変化させたときの回転変動量の変化を、図10の概念図を参照して説明する。ただし、この場合、燃料噴射量をアクティブに増量または減量するとき、吸入空気量は変化しないようにスロットルバルブ28等の作動は制御される。図10において、横軸はインバランス率IBを示し、縦軸は回転変動量を示す。ここでは、全4気筒のうちのある1気筒のみのインバランス率IBを燃料噴射量を増減させることで変化させ、このときの当該1気筒のインバランス率IBと当該1気筒の回転変動量との関係を線L1にしたがって示す。当該1気筒をアクティブ対象気筒という。他の気筒は全てバランス気筒であり、基準噴射量Qsとしてストイキ相当量を噴射しているものとする。図10において、アクティブ対象気筒の燃料噴射量がストイキ相当量であるときに相当するインバランス率が0の線Sから左側に移動するほど、インバランス率IBがプラス方向に増加し、燃料噴射量としては過多すなわちリッチな状態となる。逆に、図10中、インバランス率IBが0の線Sから右側に移動するほど、インバランス率IBはマイナス方向に増加し減少し、燃料噴射量としては過少すなわちリーンな状態となる。また、図10中、上側に移動するほど、回転変動量は大きくなる。特性線L1から理解され得るように、アクティブ対象気筒のインバランス率IBが0からプラス方向に増加してもマイナス方向に増加しても、アクティブ対象気筒の回転変動量は大きくなる傾向にある。そして、インバランス率IBが0から離れるほど、特性線L1の傾きが急になり、インバランス率IBの変化量または変化割合に対する回転変動量の変化量または変化割合は大きくなる傾向にある。ここで、図10においてインバランス率IBがプラスの範囲の一部領域を拡大して、図11に示す。なお、図11の線L2は図10の線L1の一部に相当する。図11には、アクティブ対象気筒における2つのインバランス率IBの例が線A、Bで表されている。線Aにおけるインバランス率IBaは、ストイキ相当値である0のインバランス率図10の線S参照からプラス方向にずれているが許容範囲内のものの一例である。これに対して、線Bにおけるインバランス率IBbは、線Aにおけるインバランス率IBaよりも燃料噴射量がさらに多い方向にずれていて、許容範囲外のものの一例である。ここで、通常運転時にストイキ制御を行っているときのアクティブ対象気筒の状態が線A上の状態である場合を考える。このときに、矢印F1で示すように、アクティブ対象気筒の燃料噴射量を、所定量Δf1、強制的に増量変更したとする。所定量Δf1は任意に設定されることができるが、例えば、燃料噴射量はインバランス率で約45相当の増量が図られる。IB=0の近辺図11中右端側では特性線L2の傾きが緩やかであることから、ストイキ制御を行っているときのアクティブ対象気筒の状態が線A上の状態である場合、燃料噴射量を増量変更したときの線A ́上の状態における回転変動量Va ́は増量前の回転変動量Vaと大きく変わらない。他方、ストイキ制御を行っているときのアクティブ対象気筒の状態が既に線B上の状態である場合を考える。このとき、アクティブ対象気筒においては既に許容範囲を超えるリッチずれが生じており、そのインバランス率IBbは比較的大きなプラス側の値になっている。例えば、線Bでのインバランス率IBbは、インバランス率で約60のリッチずれに相当する。この状態から矢印F2で示すように、アクティブ対象気筒の燃料噴射量を同一所定量Δf1だけ、強制的に増量したとすると、燃料噴射量を増量変更したときの線B ́を含む領域では特性線L2の傾きが急であることから、増量後の回転変動量Vb ́は増量前の回転変動量Vbよりかなり大きく、増量前後の回転変動量の差Vb ́―Vbは大きくなる。すなわちこのような燃料噴射量の増量により、アクティブ対象気筒の回転変動は十分に大きくなる。よって、アクティブ対象気筒の燃料噴射量を強制的に所定量増量変更したときの少なくとも増量後のアクティブ対象気筒の回転変動量に基づき、ばらつき異常を検出することが可能である。例えば、増量後の回転変動量の大きさ例えば|Vb ́|が所定量よりも大きいときにはばらつき異常があると判断することができる。さらに、複数サイクルに関してアクティブ対象気筒に関して求めた回転変動量の平均値または統計処理して求めた値を、回転変動量として、所定量と比較することで、気筒間空然比ばらつき異常があるか否かが判断されてもよい。このように、燃料噴射量の増量により、気筒間空然比ばらつき異常があるときにはそれを顕著に燃焼室での燃料つまり混合気の燃焼状態に反映させて、その結果を回転変動量として検出して、該回転変動量に基づいて気筒間空然比ばらつき異常を検出することができる。なお、上記説明では、燃料噴射量を所定量分だけ強制的に増量変更させる制御燃料噴射量増量制御を行って、気筒間空然比ばらつき異常を検出した。これは、インバランス気筒で燃料噴射量が多い側にずれているときに有効である。逆に、インバランス気筒で燃料噴射量が少ない側にずれているときには、燃料噴射量を所定量Δf2分だけ強制的に減量変更させる制御燃料噴射量減量制御を行って、ばらつき異常を検出することが有効である。このインバランス率が負の領域で強制減量を行う場合も、上記の場合から理解できるので、その説明は省略される。ただし、燃料噴射量減量制御における減量量大きさΔf2は燃料噴射量増量制御における増量量大きさΔf1よりも少ないことが好ましい。これは、リーンずれ異常気筒に対しあまりに多くの減量を行ってしまうと失火の虞があるからである。ただし、燃料噴射量の減量または増量により失火を生じさせ、そのときの出力変動に基づいてばらつき異常を検出することを本発明は排除しない。所定量Δf2は任意に設定され得るが、例えば、燃料噴射量はインバランス率で約15相当の減量がなされ得る。なお、燃料噴射量増量制御を実行して気筒間空然比ばらつき異常を検出するための閾値である上記所定値と、燃料噴射量減量制御を実行して気筒間空然比ばらつき異常を検出するための閾値である所定値は同じであっても異なってもよい。なお、燃料噴射量の増量制御や減量制御は、全気筒一律且つ同時に適用されることが可能であり、この場合、所定の対象気筒は全気筒である。しかし、これらの燃料噴射量変更制御は、一部の気筒である所定の対象気筒のみに一時に適用され、順次、燃料噴射量変更制御が適用される対象気筒が他の気筒に移行されてもよい。以上述べたように、気筒間空燃比ばらつき異常を検出するためには、上記したように、燃料噴射量を強制的に増量変更または減量変更させる制御つまり燃料噴射量変更制御を行って回転変動量を大きくすることが有効である。一方、かかる燃料噴射量変更制御を行うのと同時に、空燃比をストイキなどの所定の目標空燃比に追従させる空燃比フィードバック制御や空燃比学習制御を実行すると、燃料噴射量変更制御により変更された燃料噴射量をも含めて空燃比フィードバック制御され、その値が学習される。その結果として、後述するように、ばらつき異常の正しい検出ができなくなることが判明した。また、燃料噴射量変更制御が終了して通常の空燃比フィードバック制御や空燃比学習制御に戻ったときに、この通常時と異なる燃料噴射量変更制御時に学習された学習値が通常時の空燃比フィードバック制御に反映され、排気エミッションの悪化が生じたりすることが判明した。以下、これらの点につき図12を参照して説明する。図12は、目標空燃比と各気筒への燃料噴射量と触媒前センサ42及び触媒後センサ44の出力する電圧信号との関係を説明する図である。図12のA行は、全気筒の燃料噴射量がストイキ相当量Qstの場合、B行は1気筒のみ燃料噴射量がストイキ相当量Qstより40分増量変更された場合、C行は燃料噴射量がBから一律に10ずつ減量補正すべくフィードバック制御された場合、及びD行は燃料噴射量はB行と同じであるが、目標空燃比が変更される場合を示し、そしてイ列は各気筒への燃料噴射量、ロ列は目標空燃比と触媒前センサ42の出力する電圧信号、ハ列は同じく目標空燃比と触媒後センサ44の出力する電圧信号とを示している。そして、図12のロ列及びハ列において、目標空燃比が破線で示され、電圧信号が実線で示されている。ここで、図12のA、イは、異常発生前で且つ各気筒の燃料噴射量が正常な場合の各気筒の燃料噴射量を示している。この場合、破線で示される目標空燃比はストイキであり、このストイキ制御の結果、各気筒の燃料噴射量はストイキ相当量Qstとなっている。このストイキ相当量Qstが前述の基準噴射量Qsであり、1,2,3,4気筒のインバランス率は図示されるように±0である。なお、この場合、触媒前センサ42の出力電圧Vfはストイキ相当値Vreffにほぼ等しく、触媒後センサ44の出力電圧Vrはストイキ相当値Vrefrにほぼ等しい。次に、図12のB、イは、対象気筒に対し燃料噴射量を強制的に所定量増量変更した時点における各気筒の燃料噴射量を示す。この場合、1気筒の燃料噴射量がストイキ相当量Qstより40分多く、他の2,3,4気筒の燃料噴射量はストイキ相当量Qstとなっている。例えば図示されるように、1気筒のインバランス率は40であり、2,3,4気筒のインバランス率は±0である。この状態では、触媒前センサ42に供給されるトータルガス全気筒分の排気ガスの空燃比はリッチ状態であるから、触媒前センサ42の出力電圧Vfはストイキ相当値Vreffより10分リッチ側図12B、ロの10upVreff参照となり、同様に、触媒後センサ44の出力電圧Vrもストイキ相当値Vrefrよりリッチ側図12B、ハのVrefr参照となる。すなわち、1気筒のみ40のリッチずれが生じても、触媒前センサ42に対する影響は40を全気筒数4で除した10であり、触媒前センサ42からは10のリッチずれが生じたという情報が得られる。この情報に基づき、ECU50はストイキ制御により、全気筒の燃料噴射量を一律に10ずつ減量補正すべくフィードバック制御するのである。この減量補正が開始されてある程度時間が経過すると、各気筒の燃料噴射量は図12のC、イに示す如く変化し、1気筒の燃料噴射量はストイキ相当量Qstに対し30相当多いリッチ状態、他の2,3,4気筒の燃料噴射量はストイキ相当量Qstに対し10相当少ないリーン状態となる。言い換えれば、図示されるように、1気筒のインバランス率は30であり、2,3,4気筒のインバランス率は10となる。そして、触媒前センサ42の出力電圧Vfはストイキ相当値Vreff、触媒後センサ44の出力電圧Vrはストイキ相当値Vrefrに戻る図12のC、ロ及びハのVf及びVr参照。このように、気筒間空燃比ばらつき異常を検出するために、対象気筒に対し燃料噴射量を強制的に所定量変更させる制御を行ったとしても、目標空燃比をストイキとする空燃比フィードバック制御を継続する限り、その対象気筒を含む他の気筒に対する燃料噴射量が所望のようには維持されずすなわち、図12のB、イの状態には維持されず、結果的に気筒間の空燃比ばらつき異常を正しく検出することができないのである。そこで、このときの空燃比フィードバック制御では、ここではストイキである所定の目標空燃比から、燃料噴射量変更制御における所定の対象気筒の燃料噴射量の変更量に応じた量、図12D、ロに示すように、目標空燃比を変更するズラすようにしている。すなわち、目標空燃比をストイキより10リッチ側にしている。これにより燃料噴射量を所望の状態に維持することができる。ところで、目標空燃比は変更されたとしても、図12D、イにおける燃料噴射量は、対象気筒及び他の気筒をも含めて、図12B、イと同じであり、上述のように、触媒前センサ42の出力電圧Vfはストイキ相当値Vreffより10分リッチ側となり、同様に、触媒後センサ44の出力電圧Vrもストイキ相当値Vrefrより10分リッチ側となってしまう図12D、ロ及びハのVf及びVr参照。この結果、触媒後センサ44からは10のリッチずれが生じたという触媒後センサ出力差ΔVr=Vrefr-Vrの情報が得られ、ECU50は前述のように、その積算値に基づき求められる触媒後センサ学習値ΔVrgを更新記憶すなわち学習する。したがって、燃料噴射量変更制御が終了して、通常の空燃比フィードバック制御や空燃比学習制御に戻ったときに、このような通常時と異なる学習値が空燃比フィードバック制御に反映されてしまい、排気エミッションの悪化が生じたりする。そこで、以下に説明する実施形態では、上述の気筒間空燃比ばらつき異常を検出するために燃料噴射量の強制的な増量や減量制御以下、アクティブ燃料噴射制御と称すを実行するのに対応させて、学習制御を停止あるいは禁止するようにして、通常制御に復帰した際の排気エミッションの悪化が生じないようにしている。ここで、その制御ルーチンの一例を、図13のフローチャートを参照して説明する。この制御ルーチンは、ECU50により所定の周期毎に繰り返し実行される。すなわち、制御がスタートすると、ステップS1301でアクティブ燃料噴射制御を実行するための所定条件が成立しているか否かが判定される。ここで、所定条件としては、エンジン始動後の所定の運転状態、例えば、エンジン冷却水温が所定温度例えば70°C以上であること、負荷例えば、吸入空気量が所定範囲例えば、15~50g/s内にあること、エンジン回転速度が所定速度域例えば、1500rpm~2000rpmにあることの全てを満たすことなどであってもよい。ステップS1301での判定の結果、アクティブ燃料噴射制御条件が満たされていなければ、この制御ルーチンは一旦終了される。そして、満たされているときYESはステップS1302に進み、アクティブ燃料噴射制御が実行中であるか否かが判定される。アクティブ燃料噴射制御が実行中でないときはステップS1303に進み、実行中であるときはステップS1304に進む。アクティブ燃料噴射制御が実行中でないときに進むステップS1303においては、通常は、上記したように触媒コンバータ40での排気浄化をより好適に行うために、排気空燃比がストイキに追従するようにストイキを目標空燃比として、空燃比フィードバック制御が実行されると共に、上述のような空燃比学習制御が実行される。なお、ステップS1302で実行される、又は実行されているアクティブ燃料噴射制御では、上述のように増量又は減量変更した燃料噴射量が算出される。この変更量の算出は、エンジン回転速度およびエンジン負荷に基づいて、予め記憶装置に記憶された燃料噴射量変更用のデータを検索することで実行される。なお、所定の演算式に基づいて所定の演算が行われてもよい。例えば、変更量として40、45などの増量用変更量が算出される。なお、この変更量はそのように可変とされずに一定とされてもよい。そして、対象気筒の燃料噴射量がその変更量に基づいて変更される。例えば、対象気筒が1の気筒であるときは、その気筒の基本制御用つまり通常制御用に算出された燃料噴射量に、算出された変更量が加えられて、これにより燃料噴射量変更制御における燃料噴射量が定められる。例えば、変更量として40が定められたときは、変更後の燃料噴射量は基準噴射量の140になる。なお、ここでは、基準噴射量は、ストイキ相当量である。そして、アクティブ燃料噴射制御が実行中であるときに進むステップS1304においては、この目標空燃比をストイキから変更して、空燃比フィードバック制御が実行されると共に、上述のような学習制御は停止ないしは禁止される。すなわち、この目標空燃比の変更は、ステップS1302において実行中であるとされたアクティブ燃料噴射制御での所定の対象気筒の燃料噴射量の変更量に対応させて行われる。例えば、対象気筒が1の気筒であり、この対象気筒への燃料噴射量が所定の割合本実施形態では40増量されて変更される場合には、この変更割合である40増量分を全気筒数本実施形態では4で除して得られる平均割合すなわち、本実施形態では10だけ空燃比フィードバック制御における制御中心つまり目標空燃比を変更するズラすことによって行われる。具体的には、ストイキの空燃比を14.6とすると、この場合、変更後の目標空燃比はストイキ空燃比より10リッチの空燃比すなわち、13.1として算出される。そして、この変更後の目標空燃比例えば、ストイキ空燃比より10リッチの空燃比へのフィードバック制御においては、触媒前センサ42の出力Vfと変更後の空燃比すなわち、13.1に相当するセンサ出力Vreff‘図2参照との差、即ち触媒前センサ出力差ΔVf=Vf-Vreff’が算出される。さらに、この触媒前センサ出力差ΔVfに基づき、前述のように、図4に示したようなマップから主空燃比補正量補正係数Kfが算出され、インジェクタ2から噴射すべき最終的な燃料噴射量即ち最終噴射量Qfnlが求められることになる。しかし、この変更後の目標空燃比へのフィードバック制御は、所定の対象気筒の燃料噴射量の変更分に対応した分だけ所定の目標空燃比から変更された変更後目標空燃比へのフィードバック制御であるから、所定の対象気筒に対しては変更分を確実に含んだ燃料噴射量となり、前述のように他の気筒がリーンとなるようなことが防止される。特に、この変更後の目標空燃比へのフィードバック制御中は、前述したような触媒後センサ44の出力Vrに基づく学習制御は禁止される。この場合、触媒後センサ学習値ΔVrg及び補助空燃比補正量Krは更新されず、燃料噴射量変更制御開始時の値に維持される。よって、燃料噴射量変更制御後に通常制御に戻った際に、燃料噴射量変更制御開始時の触媒後センサ学習値ΔVrg及び補助空燃比補正量Krの値からフィードバック制御が開始されて排気エミッションの悪化が防止される。なお、上記実施形態では、燃料噴射量変更制御により燃料噴射量を所定量変更し始めると実質的に同時に空燃比フィードバック制御の目標空燃比をその変更量に応じて変化させたズラした。しかし、燃料噴射量変更制御により燃料噴射量を所定量変更し始めた後、所定期間経過後に、空燃比フィードバック制御の目標空燃比を変更するようにしてもよい。所定期間経過前に各気筒の燃料噴射量が所望の状態に維持されていることがあるからである。以上、本発明を上記実施形態に基づいて説明したが、本発明は、種々の形式の2つ以上の気筒を有する多気筒エンジンに適用され得、ポート噴射形式のエンジンのみならず、筒内噴射形式のエンジン、ガスを燃料として用いるエンジンなどにも適用され得る。また、学習制御は、上記実施形態で説明した触媒後センサ学習値ΔVrg及び補助空燃比補正量Krを学習するものに限らず、広くフィードバック制御に関する学習値を学習するものであってもよい。"